@charset "UTF-8";


/* レイアウト
----------------------------------------*/
html {
	height: 100%;
}

body {
	height: 100%;
}

.visible_l{
	display: none!important;
}


/*clearfix
----------------------------------------*/
.clearfix { zoom:1; }

.clearfix:after {
	content: "";
	display: block;
	visibility: hidden;
	clear: both;
	height: 0;
	font-size: 0.1em;
	line-height: 0;
}
.clr,.tclr{
	clear: both;
}

/*--------------------------- 
管理画面
ユーザー画面　共通
基本項目
----------------------------- */
/*----------------------------- 
	レイアウト
----------------------------- */

.txt_idt {
   padding-left: 1em;
   text-indent: -1em;	
}
.txt_idt2{
   padding-left: 2.6em;
   text-indent: -2.6em;	
}

a[href^="tel:"] {
    pointer-events: none;
}

.f-left{
		float:left;
	}
.f-right{
		float:right;
	}
.a-left{
		text-align:left;
	}
.a-right{
		text-align:right!important;
	}
.a-center,.ta-center{
		text-align:center!important;
	}
	
.f-center{
	display: block!important;
	text-align:center!important;
	margin-left:auto!important;
	margin-right:auto!important;
	}

.va-m{
	display: inline!important;
	vertical-align: middle;
}

img.auto{
	width:auto!important;
}

/*width
----------------------------------------*/
.w880{
	width:94%!important;
	margin:0 auto;
}
.w1100{
	width:94%!important;
	margin:0 auto;
}

header .w1100{
  width:100%!important;
  margin:0 auto;
}

/*margin
----------------------------------------*/

/*top*/
.mt0{ margin-top: 0px !important; }
.mt05{ margin-top: 5px !important; }
.mt10{ margin-top: 10px !important; }
.mt12{ margin-top: 12px !important; }
.mt15{ margin-top: 15px !important; }
.mt20,.tmt20,.mt80_l{ margin-top: 20px !important; }
.mt25{ margin-top: 25px !important; }
.mt30{ margin-top: 30px !important; }
.mt40,.tmt40{ margin-top: 40px !important; }
.mt50{ margin-top: 50px !important; }
.mt60,.tmt60{ margin-top: 60px !important; }
.mt70,.tmt70{ margin-top: 70px !important; }
.mt80{ margin-top: 80px !important; }
.mt90{ margin-top: 90px !important; }
.mt100,.tmt100{ margin-top: 100px !important; }
.tmt110{ margin-top: 110px !important; }
.mt120{ margin-top: 120px !important; }
.mt180{ margin-top: 180px !important; }
.pt30{padding-top:30px!important;}

/*bottom*/
.mb0 { margin-bottom: 0px !important; }
.mb05 { margin-bottom: 5px !important; }
.mb10 { margin-bottom: 10px !important; }
.mb12 { margin-bottom: 12px !important; }
.mb15 { margin-bottom: 15px !important; }
.mb20 { margin-bottom: 20px !important; }
.mb25 { margin-bottom: 25px !important; }
.mb30 { margin-bottom: 30px !important; }
.mb35 { margin-bottom: 35px !important; }
.mb40,.mb80_l{ margin-bottom: 40px !important; }
.mb45 { margin-bottom: 45px !important; }
.mb50 ,.tmb50{ margin-bottom: 50px !important; }
.mb60 ,.tmb60{ margin-bottom: 60px !important; }
.mb70 { margin-bottom: 70px !important; }
.mb80,.tmb80,.mb100{ margin-bottom: 80px !important; }

/*right*/
.mr05 { margin-right: 5px !important; }
.mr10 { margin-right: 10px !important; }
.mr15 { margin-right: 15px !important; }
.mr20 { margin-right: 20px !important; }
.mr25 { margin-right: 25px !important; }
.mr30 { margin-right: 30px !important; }
.mr35 { margin-right: 35px !important; }
.mr40 { margin-right: 40px !important; }
.mr60 { margin-right: 60px !important; }
.mr110 { margin-right: 110px !important; }
.mr120 { margin-right: 120px !important; }
/*left*/
.ml05 { margin-left: 5px !important; }
.ml10 { margin-left: 10px !important; }
.ml15 { margin-left: 15px !important; }
.ml20 { margin-left: 20px !important; }
.ml25 { margin-left: 25px !important; }
.ml30,.tml30  { margin-left: 30px !important; }
.ml35 { margin-left: 35px !important; }
.ml40 { margin-left: 40px !important; }

/*padding */
.pd40{ padding: 40px 20px !important; }
.pml40 { margin-left: 40px !important; }
.pt40{	padding-top:40px;}

/*font-size
----------------------------------------*/

.font10 { font-size: 77% !important; }
.font11 { font-size: 85% !important; }
.font12 { font-size: 93% !important; }
.font13 { font-size: 100% !important; }
.font14 { font-size: 108% !important; }
.font15 { font-size: 116% !important; }
.font16 { font-size: 123.1% !important; }
.font17 { font-size: 131% !important; }
.font18 { font-size: 138.5% !important; }
.font19 { font-size: 146.5% !important; }
.font20 { font-size: 153.9% !important; }
.font21 { font-size: 161.6% !important; }
.font22 { font-size: 167% !important; }
.font23 { font-size: 174% !important; }
.font24 { font-size: 182% !important; }
.font25 { font-size: 189% !important; }
.font26 { font-size: 197% !important; }
.fontb { font-weight: bold !important; }
.f12{
	font-size:12px!important;
}
/*font-color
----------------------------------------*/
.red{color:#9c212f!important;}
.blue{color:#0076bc!important;}
.green{	color:#129330!important;}
.ygreen{color:#9adb77!important;}
.pink{color:#e65c6d!important;}
.og{color:#DC6C00;}

.bg_gray{background:#f5f4f2;}
.bg_gray2{background:#ededed;}


/*ふわっと*/
/* 画面外にいる状態 */
.fadein {
	opacity : 0.1;
	transform : translate(0, 50px);
	transition : all 1400ms;
}
/* 画面内に入った状態 */
.fadein.scrollin {
	opacity : 1;
	transform : translate(0, 0);
}




/* =============================
   ボタン共通設定
============================= */
a.detail-btn {
  display:block;
  width: 200px;
  padding: 14px 0;
  text-align: center;
  font-size: 15px;
  font-weight: 500;
  color: #fff;
  background-color: #2EA5D5;
  border-radius: 50px;
  text-decoration: none;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
  margin: 40px auto;
}
.detail-btn::after {
	content: '→';
	margin-left: 8px;
	display: inline-block;
	transition: transform 0.3s ease;
}
.detail-btn.lg{
  width:290px;
}

.btn {
  display: inline-block;
  padding: 12px 30px;
  background-color: #2EA5D5;
  color: #fff;
  border-radius: 50px;
  font-size: 14px;
  font-family: 'Noto Sans JP', sans-serif;
  text-decoration: none;
  transition: background-color 0.3s ease, transform 0.3s ease;
}

.btn:hover {
  background-color: #2289b3;
  transform: translateY(-2px);
}

/* =============================
   パンくずリスト
============================= */
.breadcrumb {
    font-size: 13px;
    color: #333;
    padding: 15px 0;
	margin-bottom:20px;
}

.breadcrumb a {
  color: #2EA5D5;
  text-decoration: none;
}

.breadcrumb a:hover {
  text-decoration: underline;
}

/* =============================
   セクションタイトル
============================= */
.section-title {
  font-family: 'YuMincho', '游明朝体', serif;
  color: #40220F;
  font-size: 1.8rem;
  text-align: center;
  margin-bottom: 40px;
  letter-spacing: 2px;
  position: relative;
}

.section-title::after {
  content: '';
  display: block;
  width: 60px;
  height: 2px;
  background-color: #2EA5D5;
  margin: 10px auto 0;
}

/* =============================
   背景見出し（背景付きセクションタイトル）
   minamiデザイン共通要素
============================= */
.bg-heading {
  position: relative;
  background-color: #40220F;
  color: #fff;
  font-family: 'YuMincho', '游明朝体', serif;
  font-size: 1.8rem;
  letter-spacing: 0.08em;
  text-align: center;
  padding: 60px 0;
  margin-bottom: 60px;
}

.bg-heading::before {
  content: '';
  position: absolute;
  inset: 0;
  background: url('../images/common/bg_title.png') repeat center/contain;
  opacity: 0.15;
}

.bg-heading span {
  position: relative;
  display: inline-block;
  z-index: 1;
  padding: 0 20px;
  border-bottom: 2px solid #2EA5D5;
}

/* バリエーション：淡色背景（施設紹介などに使用） */
.bg-heading--light {
  background-color: #f7f7f7;
  color: #40220F;
}

.bg-heading--light span {
  border-bottom: 2px solid #2EA5D5;
}

/* レスポンシブ対応 */
@media screen and (max-width: 768px) {
  .bg-heading { font-size: 1.4rem; padding: 40px 0; }
  .bg-heading span { padding: 0 10px; }
}



/* =============================
   診療時間テーブル
============================= */
#schedule .w1100{
	background:#fff;
	padding: 20px 12px;
	box-sizing: border-box;
}
#schedule .w1100 table.time-table,
#schedule .w1100 p{
	width:100%;
	margin:0 auto 20px;
}

#schedule .w1100 table.time-table{
	width:100%;
	margin:0 auto 20px;
}
#schedule .w1100 p{
  font-size:15px;
}

.time-table {
  width: 100%;
  border-collapse: collapse;
  background-color: #f8fdff; /* ごく淡い水色背景 */
  border: 1px solid rgba(46,165,213,0.25);
  border-radius: 6px;
  overflow: hidden;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 16px;
  color: #333;
}

.time-table thead th {
  background-color: #fff;
  color: #40220F;
  font-weight: 600;
  padding: 8px 6px;;
  border-bottom: 1px solid #e3eef2;
}

.time-table tbody td {
  text-align: center;
  padding: 8px 6px;
  border-bottom: 1px solid #e3eef2;
}

.time-table tbody td:first-child {
  text-align: left;
  font-weight: 600;
  color: #40220F;
  background-color: #fff;
  width: 116px;
}

.time-table thead th.t_sm{
  font-size:14px !important;
}

/* 丸ドット */
.time-table td.circle::before {
  content: '';
  display: inline-block;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background-color: #2EA5D5;
  vertical-align: middle;
}

/* ハイフン */
.time-table td.hyphen::before {
  content: '';
  display: inline-block;
  width: 16px;
  height: 2px;
  background-color: #bfcad1;
  vertical-align: middle;
}

#schedule  th.mds{
	text-align: left;
	color:#2EA5D5;
}


/* 備考エリア */
.schedule-note {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 14px;
  color: #333;
  margin-top: 16px;
  line-height: 1.9;
}

/* タイトル */
.schedule-title {
  font-family: 'YuMincho', '游明朝体', serif;
  font-size: 1.25rem;
  color: #2EA5D5;
  letter-spacing: 0.05em;
  margin-bottom: 12px;
}

/* 枠まとめコンテナ */
.time-table-wrap {
  background: #fff;
  border: 2px solid rgba(46,165,213,0.2);
  border-radius: 6px;
  padding: 30px 28px 20px;
}



/* =============================
   アクセス
============================= */
.map-container {
}

.map-box{
  width:100%;
  margin-bottom:30px;
}
.map-text p{
  line-height:1.8;
}

.map-box iframe {
  width: 100%;
  height: 300px;
  border: none;
  border-radius: 4px;
}



/* =============================
   診療時間
============================= */
  /*.time-table-wrap { padding: 16px; }
  .time-table thead { display: none; }
  .time-table tbody,
  .time-table tr,
  .time-table tr { margin-bottom: 20px; border-bottom: 1px solid #e5e5e5; }
  .time-table td:first-child { background: transparent; font-weight: 700; margin-bottom: 8px; }
*/
  
  .fixed-header .nav ul {
    flex-direction: column;
    gap: 10px;
  }

  .breadcrumb {
    margin-top: 0;
  }
