/* =====================================
	NOMOCa AI Chatbot
===================================== */
/*--------------------------------------
	レスポンシブ
--------------------------------------*/
.bannersNomocaAi .sp {
   display: none;
}

@media (max-width: 767px) {
   .bannersNomocaAi .pc {
      display: none;
   }

   .bannersNomocaAi .sp {
      display: block;
   }
	
	.hfe-scroll-to-top-button {
		bottom: 140px;
	}
}

/*--------------------------------------
  バナー
--------------------------------------*/
.bannersNomocaAi {
   position: fixed;
   z-index: 999;
   bottom: 70px;
   right: 30px;
   display: block;
   /* display: none; */
   margin: 0 !important;
   width: clamp(220px, 20%, 300px);
}

.bannersNomocaAi button.open-contacts {
   cursor: pointer;
   transition-duration: .4s;
   padding: 0;
   border: none;
}

button.open-contacts {
   padding: 0;
   border: none;
}

.bannersNomocaAi button.open-contacts:hover {
   opacity: .7;
   background-color: transparent;
}

.bannersNomocaAi button.open-contacts img {
   vertical-align: bottom;
   width: 100%;
}

@media (max-width: 480px) {
   .bannersNomocaAi {
      width: 65%;
      right: 10px;
      bottom: 20px;
   }

   .bannersNomocaAi button.open-contacts {
      width: 100%;
      vertical-align: bottom;
   }
}

/*--------------------------------------
	モーダルウィンドウ
--------------------------------------*/
.dispFixed {
   overflow: hidden;
}

.windowPopup p.popupTitle,
.windowPopup p.popupDescription,
.ai_popup_content a {
   font-family: "Zen Maru Gothic", Sans-serif;
}

.modalNomocaAi {
   position: fixed;
   /* display: block; */
   display: none;
   left: 0;
   top: 0;
   width: 100%;
   height: 100%;
   z-index: 9999;
   overflow-y: scroll;
   background-color: rgba(103, 103, 103, .73);
   cursor: pointer;
}

.windowPopup {
   position: absolute;
   top: 50%;
   left: 50%;
   transform: translate(-50%, -50%);
   width: 93%;
   max-width: 450px;
   background: #fff;
   cursor: auto;
   padding: 15px;
   border-radius: 10px;
}

.btnClose {
   position: absolute;
   top: -25px;
   right: -25px;
   width: 50px;
   height: 50px;
   cursor: pointer;
   transition-duration: .4s;
}

.btnClose:hover {
   opacity: .7;
}

span.btnClose img {
   width: 100%;
}

.windowPopup p {
   margin: 0;
   font-weight: 400;
   color: #fff;
   text-align: center;
}

.windowPopup p.popupTitle {
   color: #399767;
   padding: 25px 0 15px;
   font-size: 21.5px;
   font-weight: 600;
   line-height: 1.28;
   letter-spacing: .16em;
}

.windowPopup p.popupDescription {
   color: #333;
   font-size: 17px;
   font-weight: 600;
   line-height: 1.35;
   letter-spacing: .04em;
   padding: 15px 0;
   margin: 0 35px;
   border-top: 1px solid #399767;
}

.ai_popup_content {
   display: block;
   padding: 0 !important;
   border: none;
   width: calc(100% - 70px);
   margin: 0 auto;
}

.ai_popup_content a {
   position: relative;
   padding: 0 10px 0 66px;
   display: flex;
   align-items: center;
   min-height: 50px;
   background: #399767;
   border-radius: 5px;
   font-size: 19px;
   font-weight: 600;
   line-height: 1;
   letter-spacing: 0;
   color: #fff !important;
   text-decoration: none;
   letter-spacing: 1.5px;
   cursor: pointer;
}

.ai_popup_content a:before {
   content: "";
   position: absolute;
   top: 50%;
   transform: translateY(-50%);
   left: 17px;
   width: 25px;
   height: 25px;
   background: url(/wp-content/uploads/2025/05/popup_icon01.svg) no-repeat center/100%;
}

.ai_popup_content a:after {
   content: "";
   position: absolute;
   top: 50%;
   transform: translateY(-50%);
   right: 12px;
   width: 25px;
   height: 25px;
   background: url(/wp-content/uploads/2025/05/popup_arrow.svg) no-repeat center/100%;
}

@media (max-width: 767px) {

   .ai_popup_content {
      /* margin-top: 40px !important; */
   }

   .ai_popup_content a {
      padding-left: 50px;
      padding-right: 50px;
   }

   .ai_popup_content a:before {
      left: 11px;
   }

   .ai_popup_content a:after {
      top: 50%;
      right: 10.5px;
      transform: translateY(-50%);
      width: 25px;
      height: 25px;
   }
}

@media (max-width: 480px) {
   .windowPopup {
      width: calc(100% - 60px);
   }

   .windowPopup p.popupDescription {
      margin: 0;
   }

   .ai_popup_content {
      width: 100%;
   }

   .schedule {
      width: 100% !important;
   }

   .windowPopup p.popupTitle {
      font-size: 4.2vw;
      padding: 15px 0;
   }

   .windowPopup p.popupDescription {
      font-size: 3.5vw;
   }

   .btnClose {
      position: absolute;
      top: -22px;
      right: -12px;
      width: 50px;
      height: 50px;
      cursor: pointer;
      transition-duration: .4s;
   }
}

/* -------------------------------------
診療時間表
------------------------------------- */
.schedule {
   display: block;
   width: calc(100% - 70px);
   margin: 15px auto;
}

table.timeTable {
   border-collapse: collapse;
   width: 100%;
   margin: 10px auto 5px;
}

table.timeTable td,
table.timeTable th {
   font-size: 12px;
   font-weight: 600;
   letter-spacing: 0;
   line-height: 1;
   color: #373431;
   text-align: center;
   padding: 8px 6px;
   vertical-align: middle;
   /* border: 1px solid #D4CFC9; */
}

table.timeTable th,
table.timeTable tr td:first-child {
   background-color: #fff;
}

table.timeTable .row-4 td,
table.timeTable .row-5 td {
   background-color: #fff;
   font-size: 10px;
} 

table.timeTable td.col1 span.heading {
   background: #59B084 !important;
   color: #fff;
   font-size: 1.4rem;
   padding: 5px 15px;
   border-radius: 20px;
}

table.timeTable .row-5 td {
   text-align: left;
}

.time-comment {
   font-size: 1.2rem;
   width: calc(100% - 70px);
   margin: 0 auto;
}

@media screen and (max-width: 768px) {

   table.timeTable td,
   table.timeTable th {
      display: table-cell;
   }
}