/*
Theme Name:   MediCenter Child
Theme URI: https://1.envato.market/medicenter-responsive-medical-wordpress-theme
Description:  MediCenter Child Theme
Author: QuanticaLabs
Author URI: https://1.envato.market/quanticalabs
Template:     medicenter
Version:      1.2
Text Domain:  medicenter
*/

:root {
    --bg-primary: #3156A3;
    --bg-secondary: #0384CE;
    --bg-tertiary: #42B3E5;
    --bg-quaternary: #5aa1e3;

    --border-primary: #619DD7;
    --icon-primary: #619DD7;

    --sidebar-font-primary: #555;
    --sidebar-font-secondary: #3156A3;
    --sidebar-bg-primary: #3156A3;
    --sidebar-bg-secondary: #2a4a8a;
    --sidebar-bg-tertiary: #eef3fb;
    --sidebar-border-primary: #3156A3;

    --font-color-primary: #000000;  /* 黒系統 */
    --font-color-secondary: #FFFFFF; /* 白系統 */

    /* hover用 */
    --font-color-hover-primary: #000000; /* 黒系統 */
    --font-color-hover-secondary: #FFFFFF; /* 白系統 */

    --bg-color-hover-primary: #406fd1;
    --bg-color-hover-secondary: #3156A3;
}

/* ボタン装飾 開始 */
/* ベーススタイル */
.dept-card-wp {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 18px 24px;
	background: #fff;
	border: 2px solid #e8e8e8;
	border-radius: 12px;
	color: #444;
	text-decoration: none;
	font-size: 15px;
	font-weight: 500;
	transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	position: relative;
	overflow: hidden;
	min-width: 250px;
}
.dept-card-wp .arrow {
	color: #ccc;
	transition: all 0.35s ease;
}
.dept-card-wp:hover .arrow {
	color: #fff;
	transform: translateX(5px);
}
/* 案2改: より鮮やかに（色を中央寄りに） */
/*
.dept-card-wp:hover {
	background:
		linear-gradient(165deg, rgba(255,255,255,0.85) 0%, rgba(255,255,255,0.35) 22%, rgba(255,255,255,0) 48%),
		linear-gradient(to right, rgba(0, 190, 230, 0.7) 0%, rgba(0, 190, 230, 0.35) 40%, rgba(0, 190, 230, 0) 65%),
		linear-gradient(to left, rgba(0, 220, 190, 0.7) 0%, rgba(0, 220, 190, 0.35) 40%, rgba(0, 220, 190, 0) 65%),
		#fff;
	border-color: transparent;
	color: #005560;
	text-shadow: 0 1px 2px rgba(255,255,255,0.9);
	box-shadow: 0 15px 45px rgba(0, 205, 210, 0.35), inset 0 4px 15px rgba(255,255,255,0.9);
	text-decoration: none;
}
*/
.dept-card-wp:hover {
	background:
		linear-gradient(165deg, rgba(255,255,255,0.85) 0%, rgba(255,255,255,0.35) 22%, rgba(255,255,255,0) 48%),
		linear-gradient(to right, rgba(0, 190, 230, 0.7) 0%, rgba(0, 190, 230, 0.35) 40%, rgba(0, 190, 230, 0) 65%),
		linear-gradient(to left, rgba(0, 220, 190, 0.7) 0%, rgba(0, 220, 190, 0.35) 40%, rgba(0, 220, 190, 0) 65%),
		#fff;
	border-color: transparent;
	color: #005560;
	text-shadow: 0 1px 2px rgba(255,255,255,0.9);
	box-shadow: inset 0 4px 15px rgba(255,255,255,0.9);
	text-decoration: none;
}
.dept-card-wp:hover .arrow { color: #005560; }
.dept-card-wp .fa-chevron-right:before{
	color: #0d00e7;
}
.button-row{
	margin-left: 1em;
}
.button-row br {
	display: none;
}
.btn-category-outline{
	min-width: 250px;
	justify-content: space-between;
}
/* ボタン装飾 終了 */

.thin-list .header-icon {
    font-size: 15px;
    margin-top: 20px;
}

#nav_menu-4 {
	width:400px!important;
}


.sf-menu>li>a {
    height: auto!important;
}


body {
    font-size: 17px;
}
.header-container .header{
	padding: 12px 0px;
}
/*
.home .caption-wrap .caption a{
	display: block;
	width: 100%;
	text-align: center;
}
*/
/* 重要なお知らせ */
.important-notice{
/*	margin: 2em;*/
}
/*
.important-notice{
	position: absolute;
	z-index: 2;
	top: 40px;
	right: 40px;
	padding: 1em;
	background-color: white;
	opacity: 0.9;
	min-height: 300px;
	max-height: 300px;
	border-radius: 10px;
}
.important-notice .vc_col-sm-3{
	width: 350px!important;
}
*/
.theme-page
{
    padding-bottom: 0;
}

.block-menu button {
    width:248px;
}

.block-menu-last button {
    width:223px;
}

.block-menu .vc_general {
/*    width:248px;*/
	width: 100%;
    background-color: #619dd7;
}
.vc_btn3-container{
	width:100%;
}

/* 5つの案内ブロック（休診/診療科・部門/院内/入院/面会）を横幅いっぱいに均等表示。
   従来はブレークポイントごとに固定px(243/195/150px等)が指定され、5列の合計が
   行幅に届かず右側に空白が出ていた。各列を 20%(=1/5) に揃え、左マージンも除去して
   常に5列で全幅を埋める。768px未満はWPBakeryの縦積み(各100%)を保つためスコープ外。 */
@media screen and (min-width: 768px){
	.home .vc_row .vc_col-sm-1\/5{
		width: 20% !important;
		margin-left: 0 !important;
	}
}

.vc_row [class*="vc_col-sm"]{
	margin-left: 3px;
}
/*
ul.controls li a{
	display: none!important;
}
*/
.home .vc_row .vc_col-sm-4{
/*    width: 415px;*/
}
.home .home-box .news{

}
.home .home-box .scrolling-list-fix-block, .wpb_column .home-box-container-list .scrolling-list-fix-block{
	height: auto;
}
.home .home-box .scrolling-list{

}
/*
.home .home-box .scrolling-list li{
	padding: 0;
}
*/
/* 外来診療のご案内等の3つの案内 */
.home .home-box-container{
	padding: 10px 30px 10px;
}
.home .home-box-container .home-box .news{
	margin-top: 10px;
}
.home .home-box-container .home-box a{
    margin-top: 10px;
}

.home .home-box .guide-info2{
	font-size: 15px;
	font-weight:bold;
}
.home .home-box .guide-info{
	font-size: 14px;
	color: #FFC107;
	font-weight:bold;
}
/* 2枠運用（外来診療のご案内・診療時間）を横幅いっぱいに均等表示する。
   親テーマの .home-box は width:350px 固定で、枠を2つに減らすと右側に空白が残る。
   さらに flexコンテナの .wpb_wrapper / ul が中身幅(784px)に縮むため、
   まずそれらを 100%(1230px)へ伸ばし、各枠を均等(615px×2)に広げ固定幅を解除する。 */
.home .home-box-container-list.for-home-slider > .wpb_wrapper{
	flex: 1 1 auto;
	width: 100%;
}
.home .home-box-container-list.for-home-slider > .wpb_wrapper > ul{
	width: 100%;
}
.home .home-box-container-list.for-home-slider .home-box-container{
	flex: 1 1 0;
}
.home .home-box-container-list.for-home-slider .home-box{
	width: auto;
}
/* 休診のご案内等の5つの案内 */
.home .block-menu a.vc_btn3::after{
	content: "";
	position: absolute;
	top: 30%;
	left: 40%;
	transform: translateY(-50%);
	z-index: 2;

	width: 46px;
	height: 46px;
	background-size: contain;
	background-repeat: no-repeat;
}
.home .vc_btn3.vc_btn3-size-lg{
	padding-top: 70px;
	padding-bottom: 30px;
}
/* 休診のご案内 */
.block-menu.kyushin-menu a.vc_btn3::after {
/*	background-image: url("/wp-content/themes/medicenter-child/images/icon-kyushin.svg");*/

	background-color: currentColor;
	-webkit-mask: url("/wp-content/themes/medicenter-child/images/icon-kyushin.svg") no-repeat center / contain;
	mask: url("/wp-content/themes/medicenter-child/images/icon-kyushin.svg") no-repeat center / contain;
}
/* 診療科・部門 */
.block-menu.sinryobumon-munu a.vc_btn3::after {
/*	background-image: url("/wp-content/themes/medicenter-child/images/icon-shinryoka.svg"); */

	background-color: currentColor;
	-webkit-mask: url("/wp-content/themes/medicenter-child/images/icon-shinryoka.svg") no-repeat center / contain;
	mask: url("/wp-content/themes/medicenter-child/images/icon-shinryoka.svg") no-repeat center / contain;
}
/* 院内のご案内 */
.block-menu.innai-menu a.vc_btn3::after {
/*	background-image: url("/wp-content/themes/medicenter-child/images/icon-innai.svg"); */

	background-color: currentColor;
	-webkit-mask: url("/wp-content/themes/medicenter-child/images/icon-innai.svg") no-repeat center / contain;
	mask: url("/wp-content/themes/medicenter-child/images/icon-innai.svg") no-repeat center / contain;
}
/* 入院のご案内 */
.block-menu.nyuin-menu a.vc_btn3::after {
/*	background-image: url("/wp-content/themes/medicenter-child/images/icon-nyuin.svg"); */

	background-color: currentColor;
	-webkit-mask: url("/wp-content/themes/medicenter-child/images/icon-nyuin.svg") no-repeat center / contain;
	mask: url("/wp-content/themes/medicenter-child/images/icon-nyuin.svg") no-repeat center / contain;
}
/* 面会のご案内 */
.block-menu.menkai-menu a.vc_btn3::after {
/*	background-image: url("/wp-content/themes/medicenter-child/images/icon-menkai.svg");*/

	background-color: currentColor;
	-webkit-mask: url("/wp-content/themes/medicenter-child/images/icon-menkai.svg") no-repeat center / contain;
	mask: url("/wp-content/themes/medicenter-child/images/icon-menkai.svg") no-repeat center / contain;
}
/* TODO yano 空床情報を非表示 */
.home .vc_custom_1767617989244{
	display: none;
}
.home .tabs-navigation{
	display: none!important;
}
/*
@media screen and (min-width: 1004px) and (max-width: 1249px){
	.vc_row .vc_col-sm-1\/5{
		width: 195px !important;
		}
}
*/
@media screen and (min-width: 1249px){
	.vc_row .vc_col-sm-1\/5{
		width: 243px;
	}
}
.vc_row .vc_col-sm-3, .vc_col-sm-6 .vc_col-sm-6{
	width: 305px;
}

.block-menu-last .vc_general {
/*    width:223px;*/
}
.top-menu-cnt {
    margin-top:-50px;
}

.top-bannar img {
    width:300px;
    height:150px;
}

.post {
    margin-top: 10px;
}

.comment-box .date .value {
    width: 100px;
}

.post-footer {
    margin-top: 0;
}

.post-title {
    font-size: 19px;
}

.template-comment-1 {
    display: none!important;
}

.bannar-cnt {
    margin: 0 auto;
}
/* フッターメニュー */
/*
#menu-footer-menu {
    font-size: 14px;
}
*/
/*
#nav_menu-5 {
    margin-left: 20px;
    width: 400px;
}
*/
/**/
.footer .menu li{
	float: none;
	width: 100%;
}
.footer .footer-box-container{
	margin-top: 30px;
}
.footer ul.sub-menu{
	list-style: none;
	margin: 0!important;
	padding-left: 1em;
}
#menu-footer-menu {
    font-size: 14px;
}

#nav_menu-5{

}
#nav_menu-5 .menu-footer-menu-container{
	float: none;
}
#menu-footer-menu-02 {
    font-size: 14px;
}
#nav_menu-6{

}
#nav_menu-6 .menu-footer-menu-container{
	float: none;
}
#menu-footer-menu-03 {
    font-size: 14px;
}

#nav_menu-7{

}
#nav_menu-7 .menu-footer-menu-container{
	float: none;
}

#menu-footer-menu-04 {
    font-size: 14px;
}
#nav_menu-8{

}
#nav_menu-8 .menu-footer-menu-container{
	float: none;
}

/* フッターメニュー2 */
/*
#menu-footer-menu-02 {
    font-size: 14px;
}

#nav_menu-6 {
    margin-left: 20px;
    width: 400px;
}
*/
#medicenter_contact_details-5 {
    width: 400px;
}

.timetable th {
    font-size: 17px;
    font-weight: bold;
}

.timetable tbody td {
    font-size: 17px;
}

.news-list-btn {
    text-align: right;
    display: block!important;
}

.info-box {
    padding: 33px 50px 18px;
}

.serif{
	font-family: serif;
}

#medical-hours tr {
    background-color: #fafafa!important;
}

#medical-hours th {
    background-color: #f0f0f0!important;
}

#medical-hours td , #medical-hours th {
    border: 1px solid #999;
    text-align:center;
    vertical-align:middle;
}

.title-small {
    font-size: 1.1rem;
}

.header-left a img {
    margin-top: 18px;
    margin-right: 5px;
	width: 60px;
}
.logo {
    padding-top: 0;
    margin-top: -20px;
    font-size: 45px;
}
/* スラーダー */
.metaslider .flexslider{
	margin:0px!important;
}
.flex-control-nav{
	display: none;
}
.contact-form label {
    font-size: 16px;
    color: #6d6d6d;
}

.arrow-date{
	display: none!important;
}
/* 色のテスト */
.background-primary-color, .box-header::after, .box-header.elementor-widget-heading .elementor-heading-title::after, .sf-menu li:hover a, .sf-menu li.selected a, .sf-menu li.current-menu-item a, .sf-menu li.current-menu-ancestor a, .mobile-menu-container nav.mobile-menu>ul li.current-menu-item>a, .mobile-menu-container nav.mobile-menu>ul li.current-menu-ancestor ul li.current-menu-item a, .mobile-menu-container nav.mobile-menu>ul li.current-menu-ancestor ul li.current-menu-parent ul li.current-menu-item a, .mobile-menu-container nav.mobile-menu>ul li.current-menu-ancestor a, .mobile-menu-container nav.mobile-menu>ul li.current-menu-ancestor ul li.current-menu-parent a, .mobile-menu-container nav.mobile-menu>ul li.current-menu-ancestor ul li.current-menu-parent ul li.current-menu-parent a, .single-ql_services .vertical-menu li.current-menu-item>a, .single-ql_services .vertical-menu li.current-menu-ancestor>a, .social-icons li a:hover::before, .icon-single[class^="social-"]:hover::before, .icon-single[class*=" social-"]:hover::before, .hexagon, .timeline-item label, .items-list .value, .comment-box .comments-number a, .comment-form .mc-button:hover, .contact-form .mc-button:hover, .post-password-form .mc-button:hover, .pagination li a:hover, .pagination li.selected a, .pagination li.selected span, .categories li a:hover, .widget_categories li a:hover, .categories li.current-cat a, .widget_categories li.current-cat a, .widget_tag_cloud a:hover, .tabs-box-navigation.sf-menu .tabs-box-navigation-selected:hover, .timetable .event.tooltip:hover, .timetable .event .event-container.tooltip:hover, .tooltip .tooltip-content, .gallery-box:hover .description, .gallery-box .controls a:hover, .widget_archive li a:hover, .scroll-top:hover, .home-box-container:nth-child(3n+1), .footer-banner-box-container .footer-banner-box:nth-child(3n+1), .more.light-color, .more.dark-color:hover, .more.light-color.no-hover-color:hover, body .vc_progress_bar .vc_single_bar .vc_bar, .arrow-container .arrow, body .vc_progress_bar .vc_single_bar .vc_bar+.vc_label_units, .elementor-progress-bar .elementor-progress-percentage{
/*	background-color: #619DD7;*/
/*	background-color: #ffb805!important;*/
}
.background-tertiary-color, .home-box-container:nth-child(3n+2), .footer-banner-box-container .footer-banner-box:nth-child(3n+2){
/*	background-color: #f79131;*/
/*	background-color: #ffa505!important;*/
}
.background-secondary-color, .background-secondary-color>.wpb_wrapper>.home-box-container, .more.light:hover, .more.dark-color, .more.light-color:hover, .comment-box .date .value, .comment-form .mc-button, .contact-form .mc-button, .post-password-form .mc-button, .ui-datepicker-current-day, .wpb_content_element .accordion .ui-accordion-header.ui-state-active, .accordion .ui-accordion-header.ui-state-active, .tabs-box-navigation.sf-menu .tabs-box-navigation-selected, .dropcap .dropcap-label, .timetable .event, .tip, .home-box-container:nth-child(3n+3), .footer-banner-box-container .footer-banner-box:nth-child(3n+3), .hexagon.fancybox, .circle.fancybox span, .mc-lightbox.elementor-widget .hexagon, .mc-lightbox.elementor-widget .circle span, .arrow-container .arrow-dark{
/*	background-color: #F36C21;*/
/*	background-color: #ff8a22!important;*/
}
/*
.vc_btn3.vc_btn3-color-primary.vc_btn3-style-modern{
	border-color: #ff8a22!important;
	background-color: #ff8a22!important;
}
.vc_btn3.vc_btn3-color-sky, .vc_btn3.vc_btn3-color-sky.vc_btn3-style-flat{
	background-color: #ff8a22!important;
}
*/
.mc-button{
/*	border:none!important;*/
}
/*
.vc_btn3.vc_btn3-color-primary.vc_btn3-style-modern{
	border-color: #619DD7!important;
	background-color: #619DD7!important;
}
.vc_btn3.vc_btn3-color-sky, .vc_btn3.vc_btn3-color-sky.vc_btn3-style-flat{
	background-color: #619DD7!important;
}
.vc_btn3.vc_btn3-color-sky, .vc_btn3.vc_btn3-color-sky.vc_btn3-style-flat:hover{
	background-color: #F36C21!important;
}
*/
/*
.vc_row [class*="vc_col-sm"]{
	margin-left: 0px;
}
.block-menu .vc_general{
	width:285px;
}
*/
.page-margin-top-section-vlarge{
	margin-top: 40px;
}
.anchor-target{
	/* 固定メニューの高さを指定 */
	scroll-margin-top: 90px;
}
/* HOMEのサービス表示 */
.home .for-home-slider .news .text{
	min-height: 88px;
}
/* HOMEのサービス表示 */
ul.services-list .service-details{
	min-height: 200px;
}

/* ボタン関連 */
.button-row {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-bottom: 20px;
}
/* ボタン: アウトライン + 下矢印 */
.btn-category-outline {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 14px 24px;
	background: transparent;
/*	border: 2px solid #3156A3;
	color: #3156A3;
*/
	border: 2px solid var(--border-primary);
	color: #875000;
	border-radius: 8px;
	text-decoration: none;
	font-size: 15px;
	font-weight: 600;
	transition: all 0.3s;
}

.btn-category-outline:hover {
/*	background: #3156A3; */
	background: #;
	color: #aaa;
	text-decoration: none;
}

.btn-category-outline::after {
	content: ▽';
	font-size: 14px;
	transition: transform 0.3s;
}

.btn-category-outline:hover::after {
	transform: translateY(3px);
}

    /* ===========================================================
       案A: 8レイヤー Liquid Glass 本格版（白背景）
       通常: 白ボタン / ホバー: にこ淵カラーのガラスエフェクト
       =========================================================== */
    .btn-category-outline {
      --mouse-x: 50%;
      --mouse-y: 50%;
      --glow-opacity: 0;
      position: relative;
      display: flex;
      align-items: center;
      gap: 12px;
      padding: 20px 22px;
      min-height: 64px;
      height: 100%;
      text-decoration: none;
      font-size: 0.95rem;
      font-weight: 500;
      color: #444;
      cursor: pointer;
      border-radius: 18px;
      background: #fff;
      border: 2px solid #e8e8e8;
      overflow: hidden;
      isolation: isolate;
      transition: all 0.4s cubic-bezier(0.23, 1, 0.32, 1);
    }
    .btn-category-outline:hover {
      background: rgba(255, 255, 255, 0.12);
      border: 0.5px solid rgba(255, 255, 255, 0.45);
      -webkit-backdrop-filter: blur(12px) saturate(1.3);
      backdrop-filter: blur(12px) saturate(1.3);
      box-shadow:
        0 6px 18px rgba(0, 0, 0, 0.06),
        0 8px 32px rgba(0, 190, 220, 0.08),
        0 4px 16px rgba(0, 210, 190, 0.06),
        inset 0 1px 0 rgba(255, 255, 255, 0.6),
        inset 0 -1px 0 rgba(255, 255, 255, 0.3);
      transform: translateY(-1px) scale(1.02);
    }
    .btn-category-outline:active {
      transform: translateY(0) scale(0.99);
      transition-duration: 0.15s;
    }

    /* テキスト・矢印のz-index */
    .btn-category-outline .btn-label,
    .btn-category-outline .btn-arrow {
      position: relative;
      z-index: 10;
      transition: all 0.4s cubic-bezier(0.23, 1, 0.32, 1);
    }
    .btn-category-outline .btn-label { flex: 1; }
    .btn-category-outline .btn-arrow {
      font-size: 0.7rem;
      color: #ccc;
    }
    .btn-category-outline:hover .btn-label {
      color: #1a2e5a;
      text-shadow: 0 1px 2px rgba(255, 255, 255, 0.6);
    }
    .btn-category-outline:hover .btn-arrow {
      color: #1a2e5a;
      transform: translateY(2px);
    }

    /* L1: ガラスベース背景 */
    .btn-category-outline .glass-bg {
      position: absolute;
      inset: 0;
      border-radius: 18px;
      background: rgba(255, 255, 255, 0.05);
      -webkit-backdrop-filter: blur(24px) saturate(1.6) brightness(1.1);
      backdrop-filter: blur(24px) saturate(1.6) brightness(1.1);
      border: 0.5px solid rgba(255, 255, 255, 0.45);
      z-index: 0;
      opacity: 0;
      transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
    }
    .btn-category-outline:hover .glass-bg {
      opacity: 1;
      background: linear-gradient(
        135deg,
        rgba(0, 168, 210, 0.35) 0%,
        rgba(255, 255, 255, 0.06) 20%,
        rgba(0, 200, 180, 0.28) 45%,
        rgba(255, 255, 255, 0.04) 65%,
        rgba(0, 180, 220, 0.22) 85%,
        rgba(32, 220, 200, 0.18) 100%
      );
      -webkit-backdrop-filter: blur(32px) saturate(2.0) brightness(1.1);
      backdrop-filter: blur(32px) saturate(2.0) brightness(1.1);
      border-color: rgba(0, 190, 200, 0.4);
    }

    /* L2: SVG歪みフィルター */
    .btn-category-outline .glass-warp {
      position: absolute;
      inset: 0;
      border-radius: 18px;
      -webkit-backdrop-filter: blur(1px);
      backdrop-filter: blur(1px);
      -webkit-filter: url(#glass-warp-filter);
      filter: url(#glass-warp-filter);
      overflow: hidden;
      z-index: 1;
      opacity: 0;
      transition: opacity 0.6s ease;
    }
    .btn-category-outline:hover .glass-warp { opacity: 0.6; }

    /* L3: 白オーバーレイ */
    .btn-category-outline .glass-overlay {
      position: absolute;
      inset: 0;
      border-radius: 18px;
      background: rgba(255, 255, 255, 0.08);
      pointer-events: none;
      z-index: 2;
      opacity: 0;
      transition: opacity 0.4s ease;
    }
    .btn-category-outline:hover .glass-overlay { opacity: 1; }

    /* L4: 内側の光沢 */
    .btn-category-outline .glass-inner-shine {
      position: absolute;
      inset: 0;
      border-radius: 18px;
      box-shadow:
        inset 3px 3px 2px 0 rgba(0, 190, 230, 0.3),
        inset -2px -2px 2px 1px rgba(0, 215, 190, 0.25),
        inset 0 0 16px rgba(0, 168, 210, 0.15),
        inset 0 0 12px rgba(32, 220, 200, 0.12);
      pointer-events: none;
      z-index: 3;
      opacity: 0;
      transition: opacity 0.5s ease;
    }
    .btn-category-outline:hover .glass-inner-shine { opacity: 1; }

    /* L5: スペキュラー反射（左上ハイライト） */
    .btn-category-outline .glass-specular {
      position: absolute;
      inset: 0;
      border-radius: 18px;
      background: linear-gradient(
        168deg,
        rgba(255, 255, 255, 0.35) 0%,
        rgba(255, 255, 255, 0.15) 6%,
        rgba(255, 255, 255, 0.04) 18%,
        transparent 35%
      );
      z-index: 4;
      opacity: 0;
      transition: all 0.5s ease;
    }
    .btn-category-outline:hover .glass-specular {
      opacity: 1;
      background: linear-gradient(
        168deg,
        rgba(0, 200, 240, 0.4) 0%,
        rgba(0, 220, 200, 0.2) 10%,
        rgba(255, 255, 255, 0.06) 25%,
        transparent 45%
      );
    }

    /* L6: 屈折アニメーション（にこ淵カラー） */
    .btn-category-outline .glass-refraction {
      position: absolute;
      inset: -20%;
      border-radius: 50%;
      background:
        radial-gradient(ellipse 50% 40% at 15% 70%, rgba(0, 168, 210, 0.4) 0%, transparent 65%),
        radial-gradient(ellipse 45% 50% at 85% 30%, rgba(32, 220, 200, 0.35) 0%, transparent 65%),
        radial-gradient(ellipse 60% 35% at 50% 50%, rgba(255, 255, 255, 0.04) 0%, transparent 70%),
        radial-gradient(ellipse 35% 45% at 70% 75%, rgba(0, 200, 180, 0.25) 0%, transparent 60%),
        radial-gradient(ellipse 40% 35% at 30% 25%, rgba(0, 180, 230, 0.25) 0%, transparent 60%);
      z-index: 5;
      opacity: 0;
      animation: glassFlow1 10s ease-in-out infinite;
      transition: opacity 0.8s ease;
    }
    .btn-category-outline .glass-refraction-2 {
      position: absolute;
      inset: -25%;
      border-radius: 50%;
      background:
        radial-gradient(ellipse 55% 45% at 75% 65%, rgba(0, 190, 170, 0.3) 0%, transparent 60%),
        radial-gradient(ellipse 40% 55% at 25% 40%, rgba(0, 150, 220, 0.25) 0%, transparent 60%),
        radial-gradient(ellipse 50% 40% at 50% 20%, rgba(0, 210, 200, 0.12) 0%, transparent 55%);
      z-index: 5;
      opacity: 0;
      animation: glassFlow2 14s ease-in-out infinite;
      transition: opacity 0.8s ease;
    }
    .btn-category-outline:hover .glass-refraction,
    .btn-category-outline:hover .glass-refraction-2 { opacity: 1; }

    @keyframes glassFlow1 {
      0%, 100% { transform: translate(0, 0) rotate(0deg) scale(1); }
      25% { transform: translate(4%, -3%) rotate(3deg) scale(1.04); }
      50% { transform: translate(-3%, 4%) rotate(-2deg) scale(0.96); }
      75% { transform: translate(2%, -1%) rotate(1deg) scale(1.02); }
    }
    @keyframes glassFlow2 {
      0%, 100% { transform: translate(0, 0) rotate(0deg) scale(1); }
      33% { transform: translate(-3%, 2%) rotate(-2deg) scale(1.03); }
      66% { transform: translate(2%, -3%) rotate(2deg) scale(0.97); }
    }

    /* L7: グラデーションボーダー（mask-composite） */
    .btn-category-outline .glass-edge {
      position: absolute;
      inset: 0;
      border-radius: 18px;
      z-index: 6;
      opacity: 0;
      transition: opacity 0.6s ease;
    }
    .btn-category-outline .glass-edge::before {
      content: '';
      position: absolute;
      inset: 0;
      border-radius: 18px;
      padding: 1.5px;
      background: linear-gradient(
        135deg,
        rgba(0, 190, 230, 0.5) 0%,
        rgba(255, 255, 255, 0.15) 20%,
        rgba(0, 215, 190, 0.35) 40%,
        rgba(255, 255, 255, 0.1) 60%,
        rgba(0, 168, 200, 0.3) 80%,
        rgba(255, 255, 255, 0.4) 100%
      );
      -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
      -webkit-mask-composite: xor;
      mask-composite: exclude;
    }
    .btn-category-outline:hover .glass-edge { opacity: 1; }

    /* L8: マウス追従グロー */
    .btn-category-outline .glass-cursor-glow {
      position: absolute;
      width: 200%;
      height: 200%;
      left: calc(var(--mouse-x) - 100%);
      top: calc(var(--mouse-y) - 100%);
      background:
        radial-gradient(circle at 45% 45%, rgba(0, 168, 210, 0.35) 0%, rgba(0, 190, 230, 0.1) 30%, transparent 55%),
        radial-gradient(circle at 55% 55%, rgba(0, 210, 180, 0.3) 0%, rgba(0, 215, 190, 0.08) 30%, transparent 55%),
        radial-gradient(circle at center, rgba(255, 255, 255, 0.1) 0%, transparent 40%);
      border-radius: 50%;
      pointer-events: none;
      z-index: 7;
      opacity: var(--glow-opacity);
      transition: opacity 0.4s ease;
      mix-blend-mode: screen;
    }

    /* ホバー時の上部ハイライト */
    .btn-category-outline .glass-top-highlight {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      height: 45%;
      background: linear-gradient(
        180deg,
        rgba(255, 255, 255, 0.18) 0%,
        rgba(180, 240, 255, 0.08) 40%,
        transparent 100%
      );
      border-radius: 18px 18px 0 0;
      pointer-events: none;
      z-index: 8;
      opacity: 0;
      transition: opacity 0.4s ease;
    }
    .btn-category-outline:hover .glass-top-highlight { opacity: 1; }


/* ボタン: アウトライン + 下矢印 */
/* ボタン: アイコン付きカード */
/*
.dept-card-wp {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 14px 20px;
	background: var(--bg-primary);
	border: 1px solid #e5e5e5;
	border-radius: 8px;
	color: var(--font-color-secondary);
	text-decoration: none;
	font-size: 14px;
	font-weight: 500;
	transition: all 0.3s;
	cursor: pointer;
	min-width: 250px;
}

.dept-card-wp:hover {
	border-color: #619DD7;
	box-shadow: 0 4px 12px rgba(0, 168, 255, 0.15);
	background: var(--bg-color-hover-primary);
	text-decoration: none;
	color: var(--font-color-hover-secondary);
}

.dept-card-wp .card-icon {
	width: 36px;
	height: 36px;
	min-width: 36px;
	background: var(--icon-primary);
	border-radius: 8px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-size: 16px;
}

.dept-card-wp .card-text {
	flex: 1;
}

.dept-card-wp .card-arrow {
	color: #ccc;
	transition: all 0.3s;
}

.dept-card-wp:hover .card-arrow {
	color: #619DD7;
	transform: translateX(3px);
}
*/
/* ボタン: アイコン付きカード */
.hospital-bed-private-room::before{
	content: "一般病床\A\A個室"!important;
	white-space: pre-line;
	font-size: 18px;
}

.hospital-bed-large-room::before{
	content: "一般病床\A\A大部屋"!important;
	white-space: pre-line;
	font-size: 18px;
}

.comprehensive-care-private-room::before{
	content: "地域包括\A\Aケア病床\A\A個室"!important;
	white-space: pre-line;
	font-size: 18px;
}
.comprehensive-care-large-room::before{
	content: "地域包括\A\Aケア病床\A\A大部屋"!important;
	white-space: pre-line;
	font-size: 18px;
}

.nursing-care-clinic-private-room::before{
	content: "介護医療院\A\A（介護保険）\A\A個室"!important;
	white-space: pre-line;
	font-size: 18px;
}

.nursing-care-clinic-large-room::before{
	content: "介護医療院\A\A（介護保険）\A\A大部屋"!important;
	white-space: pre-line;
	font-size: 18px;
}

/* 空床情報の表 [bed_availability]
   診療時間の表(.niyodo-schedule-table)と同じ見た目に揃えている。 */
/* 表の上に出す更新日。表と同じ幅に収めて右端で揃える */
.niyodo-bed-date{
	max-width: 680px;
	margin: 20px 0 6px;
	text-align: right;
	font-size: 13px;
	color: #6d6d6d;
}
/* 更新日がある場合は表の上マージンを詰めて、日付と表をひとかたまりに見せる */
.niyodo-bed-date + .niyodo-bed-table-wrap{
	margin-top: 0;
}
.niyodo-bed-table-wrap{
	overflow-x: auto;
	margin: 20px 0;
	/* 画面が広いとき、数名分の数字に対して表が間延びするのを防ぐ */
	max-width: 680px;
}
.niyodo-bed-table{
	width: 100%;
	/* 幅の指定が無いと、文字数の多い「種別」が余白を全部吸って広くなりすぎる。
	   列幅を固定して 種別:大部屋:個室 = 34:33:33 で分ける。 */
	table-layout: fixed;
	border-collapse: collapse;
	background: #fff;
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 0 1px 3px rgba(0,0,0,0.05);
}
.niyodo-bed-table thead th:first-child{
	width: 34%;
}
.niyodo-bed-table th,
.niyodo-bed-table td{
	border: 1px solid #e5e5e5;
	padding: 14px 12px;
	text-align: center;
	vertical-align: middle;
	font-size: 16px;
}
.niyodo-bed-table thead th{
	background: #3156A3;
	color: #fff;
	font-weight: 600;
	font-size: 15px;
	letter-spacing: .04em;
}
.niyodo-bed-table tbody th{
	background: #eef3fb;
	color: #333;
	font-weight: 600;
	text-align: left;
	white-space: nowrap;
}
.niyodo-bed-table tbody tr:hover td{
	background: #fbfcfe;
}
.niyodo-bed-note{
	display: block;
	font-size: 12px;
	font-weight: 400;
	color: #6d6d6d;
}
/* 数字は大きく。空き0は満床としてグレーに落とす */
.niyodo-bed-num{
	font-size: 24px;
	font-weight: 700;
	color: #F36C21;
	margin-right: 2px;
}
.niyodo-bed-table td.is-full{
	background: #f7f7f7;
	color: #999;
}
.niyodo-bed-table td.is-full .niyodo-bed-num{
	color: #999;
	font-weight: 600;
}

/* 休診のご案内 現在の休診情報一覧 [closed_notice]
   従来は無地の<div>が並ぶだけで見た目が整っていなかったため、
   空床情報の表と同じ配色・角丸カードに揃えてリスト化する。 */
.closed-notice{
	max-width: 100%;
	margin: 20px 0;
	border: 1px solid #e5e5e5;
	border-radius: 8px;
	overflow: hidden;
	background: #fff;
	box-shadow: 0 1px 3px rgba(0,0,0,0.05);
}
.closed-notice .notice-item{
	display: flex;
	align-items: flex-start;
	gap: 16px;
	padding: 16px 20px;
	border-bottom: 1px solid #e5e5e5;
}
.closed-notice .notice-item:last-child{
	border-bottom: none;
}
.closed-notice .notice-item:nth-child(even){
	background: #f8fafd;
}
.closed-notice .notice-date{
	flex: 0 0 auto;
	min-width: 132px;
	padding: 4px 10px;
	background: #eef3fb;
	color: #3156A3;
	border-radius: 4px;
	font-size: 14px;
	font-weight: 600;
	text-align: center;
	white-space: nowrap;
}
.closed-notice .notice-content{
	flex: 1 1 auto;
	font-size: 15px;
	line-height: 1.7;
	color: #333;
}
.closed-notice .notice-content p{
	margin: 0;
	padding: 0;
}
@media screen and (max-width: 767px){
	.closed-notice .notice-item{
		flex-direction: column;
		align-items: flex-start;
		gap: 6px;
		padding: 14px 16px;
	}
	.closed-notice .notice-date{
		min-width: 0;
		width: fit-content;
	}
}

/* スマホは1行ずつカード化して、種別・大部屋・個室が縦に読めるようにする */
@media only screen and (max-width: 767px){
	.niyodo-bed-table thead{
		display: none;
	}
	.niyodo-bed-table,
	.niyodo-bed-table tbody,
	.niyodo-bed-table tr,
	.niyodo-bed-table th,
	.niyodo-bed-table td{
		display: block;
		width: auto;
		/* 親テーマは content-box のため、width:100% + padding だと右にはみ出す */
		box-sizing: border-box;
	}
	.niyodo-bed-table tr{
		margin-bottom: 12px;
		border: 1px solid #e5e5e5;
		border-radius: 8px;
		overflow: hidden;
	}
	.niyodo-bed-table th,
	.niyodo-bed-table td{
		border: none;
		border-bottom: 1px solid #eee;
	}
	.niyodo-bed-table tbody th{
		text-align: center;
	}
	.niyodo-bed-table td{
		display: flex;
		align-items: center;
		justify-content: space-between;
		text-align: right;
	}
	.niyodo-bed-table td::before{
		content: attr(data-label);
		font-weight: 600;
		color: #6d6d6d;
		font-size: 14px;
	}
	.niyodo-bed-table tr td:last-child{
		border-bottom: none;
	}
}

.home .important-notice .box-header{
	color: red;
}

.gallery-item-details-list .mc-button{
	color: white;
}
.gallery-item-details-list .details-box{
	margin-left: 30px;
}
.internal-medicine a.open-lightbox,
.gallery-item-details-list .close,
.gallery-item-details-list .separator{
	display: none;
}
.has-gutenberg-blocks ul{
	list-style: none;
}
.single .post-content ul, .single .post-content ol, .single-page ul, .single-page ol, .wpb_text_column ul, .wpb_text_column ol{
    margin: 0px 0px 20px;
}

.single .post-content ul ul, .single .post-content ol ol, .single-page ul ul, .single-page ol ol, .wpb_text_column ul ul, .wpb_text_column ol ol{
	padding-left: 0;
}
.single .post-content li, .single-page li, .wpb_text_column li{
	padding 0 0;
}

/* 画面幅が 767px 以下のときだけ適用するCSS */
@media screen and (max-width: 767px){

	.header, 
	.header-top-sidebar, 
	.site-container .vc_row, 
	.site-container .vc_row.full-width .wpb_column .vc_row, 
	.site-container .vc_row.full-width .vc_col-sm-12.wpb_column .vc_row, 
	.home-box-container-list, 
	.footer, 
	.copyright-area, 
	.horizontal-carousel.testimonials .vc_col-sm-6{
		width: 95%!important;
		margin: 0 auto;
	}
	.home-box-container-list.for-home-slider .home-box-container,
	.home-box-container-list.float .home-box-container{
		float: none;
	}
	/* スマホでは2枠を縦積みにする（flex横並びだとfloat:noneが効かないため） */
	.home .home-box-container-list.for-home-slider>.wpb_wrapper>ul{
		flex-direction: column;
	}

	/*  */
	.header-top-sidebar {
		display: flex;
		flex-direction: column;
	}
	.header-top-sidebar .textwidget div{
		margin-top: 1px!important;
	}
	.header-top-sidebar .thin-list .header-icon{
		margin-top: 0px;
	}
	.header-top-sidebar .is-layout-flex{
		justify-content: center!important;
	}
	/* 上に表示したい方 */
	.textwidget:nth-of-type(2) {
		order: 1;
	}

	/* 下に表示したい方 */
	.textwidget:nth-of-type(1) {
		order: 2;
	}
	/* 重要なお知らせ */
	.home .important-notice{
		position: relative;
		top: 0;
		right: 0;
		opacity: 1;
		min-height: auto;
		max-height: auto;
		font-size: 125%;
/*		background-color: #ffefbe;*/
	}
	.home .important-notice .box-header{
		font-size: 130%;
	}

	.home .site-container .wpb_row{
		margin-bottom: 16px;
	}
	.home .for-home-slider .news .text{
		min-height: auto;
	}

	/* 院内のご案内等 */
	.home .vc_btn3.vc_btn3-size-lg{
		padding-top: 20px;
		padding-bottom: 20px;
	}
	.home .block-menu .vc_general{
		max-width: 100%;
		margin: 0 auto
	}

	/* 休診のご案内等の5つの案内 */
	.home .block-menu{
		max-width: 95%;
		/* vc_btn3-inline の inline-block により左寄せ(幅95%)になり右側だけ余白が
		   広くなる非対称を解消。block化＋auto余白で中央寄せし、左右の余白を揃える
		   （2枠セクションと同じ幅・余白に一致）。js_composer のCSSが子テーマより後に
		   読まれ inline-block を再指定するため !important で上書きする。 */
		display: block !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}
	.home .block-menu a.vc_btn3{
		display: flex;
		justify-content: center;
		align-items: center;
		gap: 4px;
		/* アイコンを文字の上に表示する */
		flex-direction: column-reverse;
	}
	.home .block-menu a.vc_btn3::after{
		position: relative;
		top: auto;
		left:auto;
		width:30px;
		height:30px;
		transform: none;
	}

	/* 休診のご案内等の5つの案内：スマホでは1列に縦積みされてしまうため、2列で左右に並べる */
	.home .vc_row:has(.block-menu.kyushin-menu){
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
	}
	.home .vc_row:has(.block-menu.kyushin-menu) > .wpb_column{
		float: none;
		width: 46%;
		margin: 0 2% 12px;
	}
/*
	.home .block-menu a.vc_btn3{
		margin: 0 20px;
	}
	.home .block-menu a.vc_btn3::after{
		content: "";
		position: absolute;
		z-index: 2;
		top: 50%;
		left: 30%;
		width: 46px;
		height: 46px;
		background-size: contain;
		background-repeat: no-repeat;
	}
*/

	.home .vc_row .wpb_column{
		margin-top: 0px;
	}

	.home .vc_row [class*="vc_col-sm"]{
		margin-left: 0px;
	}
	.home .post {
		width: 100%;
	}

	.niyodo-schedule-container{
		padding: 20px 5px!important;
	}
	/* スマホ用 横スクロール対応 */
	.table-scroll {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch; /* iOSで滑らか */
	}

	/* テーブルの最小幅を指定（重要） */
	.niyodo-schedule-table {
		min-width: 700px; /* 列数に応じて調整 */
		border-collapse: collapse;
	}

	.home .services-list .vc_row.wpb_row.vc_row-fluid{
		margin-top: 0;
	}
	.home ul.services-list .service-details{
		min-height: auto;
	}
	.home .map{
		margin-left: 5%;
		width: 90%;
	}
	#greeting img.alignright {
		float: none;
		display: block;
		width: min(100%, 246px);
		height: auto;
		margin: 0 auto 20px;
	}
	.footer{
		width: 100%!important;
		
	}
	.footer-box-container{
		margin: 10px!important;
	}

	.footer .menu li{
		width: 100%!important;
	}
}

@media screen and (min-width: 767px) and (max-width: 989px){
	/* 重要なお知らせ */
	/* スライドエリア */
/*
    .header, .header-top-sidebar, .site-container .vc_row, .site-container .vc_row.full-width .wpb_column .vc_row, .site-container .vc_row.full-width .vc_col-sm-12.wpb_column .vc_row, .home-box-container-list, .footer, .copyright-area, .horizontal-carousel.testimonials .vc_col-sm-6 {
        width: 95% !important;
        margin: 0 auto;
    }
*/
	#slide-area .vc_col-sm-8{
        width: 100% !important;
	}

	#slide-area .vc_col-sm-4{
        width: 100% !important;
	}
    .vc_row [class*="vc_col-sm"] {
        margin-left: 0!important;
    }
/*
	#slide-area .important-notice{
		margin:0;
	}
	.vc_row [class*="vc_col-sm"] {{
		margin: 0!important;
	}
    .vc_row .wpb_column {
        width: 100%;
    }
*/
/*
	#slide-area .vc_col-sm-4{
		width: 238px;
	}
	#slide-area .important-notice-list{
		max-height: 135px;
	}
*/

/*
	.home .important-notice{
		position: relative;
		top: 0;
		right: 0;
		opacity: 1;
		min-height: auto;
		max-height: auto;
		font-size: 125%;
		background-color: #ffefbe;
	}
*/
	.home-box-container-list.for-home-slider{
		margin-top: 0!important;
	}
	/* HOMEのサービス表示 */
	ul.services-list .service-details{
		min-height: 240px;
	}
}

@media screen and (min-width: 990px) and (max-width: 1009px) {
	/* 重要なお知らせ */
	/* スライドエリア */
	#slide-area .vc_col-sm-8{
		width: 100%;
	}
	#slide-area .vc_col-sm-4{
		width: 100%;
	}
	#slide-area .important-notice-list{
		max-height: 135px;
	}
    .vc_row [class*="vc_col-sm"] {
        margin-left: 0!important;
    }
    .important-notice-card {
        min-height: 187px;
	}
	.home-box-container-list.for-home-slider{
		margin-top: 0!important;
	}
	/* 休診のご案内等の5つの案内 */
	 .vc_row .vc_col-sm-1\/5 {
        width: 150px;
    }
	.vc_btn3.vc_btn3-size-lg{
		padding-left:18px!important;
	}
	.home .block-menu a.vc_btn3::after {
		left: 35%;
	}
}
/* 画面幅が 990px 以上のときだけ適用するCSS */
@media screen and (min-width: 1010px) and (max-width: 1249px) {
	.comment-box .date .value {
		width: 100px!important;
	}

	/* 重要なお知らせ */
	/* スライドエリア */
	#slide-area .vc_col-sm-4{
		width: 335px;
	}
	#slide-area .important-notice-list{
		max-height: 135px;
	}
	.home .important-notice{

	}
/*
	.home .important-notice-list{
		min-height: 160px;
		max-height: 160px;
		overflow: scroll;
	}
*/
	.home-box-container-list.for-home-slider{
		margin-top: 0!important;
	}
	.vc_row .vc_col-sm-3, .vc_col-sm-6 .vc_col-sm-6{
		width: 245px!important;
	}

	.vc_row .vc_col-sm-1\/5 {
        width: 195px!important;;
    }

	/* HOMEのサービス表示 */
	ul.services-list .service-details{
		min-height: 220px;
	}
}
/* 画面幅が 1250px 以上のときだけ適用するCSS */
@media screen and (min-width: 1250px){
	/* 重要なお知らせ */
	/* スライドエリア */
	#slide-area .vc_col-sm-4{
		width: 416px;
	}
	.vc_row .vc_col-sm-1\/5 {
        width: 243px;
    }
/*
	.home .important-notice{
		top: 40px;
		right: 40px;
		min-height: 240px;
		max-height: 240px;
	}
*/
/*
	.home .important-notice{
		top: 40px;
		right: 40px;
		min-height: 220px;
		max-height: 220px;
	}
	.home .important-notice-list{
		overflow: hidden;
	}
*/
}


.free-counter{
	margin-top:-350px;
	float:right;
}
/*
.block-menu.kyushin-menu::before {
  content: "";
  position: absolute;
  top: 20%;
  left: 40%;
  transform: translateY(-50%);
  z-index: 2;
  
  width: 46px;
  height: 46px;

  background-image: url("/wp-content/themes/medicenter-child/images/icon-kyushin.svg");
  background-size: contain;
  background-repeat: no-repeat;
}

.block-menu.sinryobumon-munu::before {
  content: "";
  position: absolute;
  top: 20%;
  left: 40%;
  transform: translateY(-50%);
  z-index: 2;
  
  width: 46px;
  height: 46px;

  background-image: url("/wp-content/themes/medicenter-child/images/icon-shinryoka.svg");
  background-size: contain;
  background-repeat: no-repeat;
}

.block-menu.innai-menu::before {
  content: "";
  position: absolute;
  top: 20%;
  left: 40%;
  transform: translateY(-50%);
  z-index: 2;
  
  width: 46px;
  height: 46px;

  background-image: url("/wp-content/themes/medicenter-child/images/icon-innai.svg");
  background-size: contain;
  background-repeat: no-repeat;
}

.block-menu.nyuin-menu::before {
  content: "";
  position: absolute;
  top: 20%;
  left: 40%;
  transform: translateY(-50%);
  z-index: 2;
  
  width: 46px;
  height: 46px;

  background-image: url("/wp-content/themes/medicenter-child/images/icon-nyuin.svg");
  background-size: contain;
  background-repeat: no-repeat;
}

.block-menu.menkai-menu::before {
  content: "";
  position: absolute;
  top: 20%;
  left: 40%;
  transform: translateY(-50%);
  z-index: 2;
  
  width: 46px;
  height: 46px;

  background-image: url("/wp-content/themes/medicenter-child/images/icon-menkai.svg");
  background-size: contain;
  background-repeat: no-repeat;
}
*/

