@charset "utf-8";
/* CSS Document */


/*-----------------------------------
トップへ戻るボタン
-----------------------------------*/
#box_toTop{
  position: fixed;
  right: 20px !important;
  bottom: 31px !important;
  z-index: 1000; /* 最前面 */
  display: none;
  transform: none !important; /* ← これが重要 */
}


#box_toTop.show{
  display: block;
}


.page_top {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #676767!important; /* 通常時の色 */
  transition: color 0.3s ease;
}

.page_top:hover {
  color: #b11c2a!important; /* hover時の色 */
}

/* 旧ページTOPに戻るボタンの非表示） */
#contents p.pagetop{
	display: none;
}

/* =========================================
  FOOTER（新）
========================================= */

#siteFooter{
  border-top: 2px solid #8E847B;
  font-size: 13px;
  line-height: 1.6;
}

/* 上段（薄い背景） */
#siteFooter .footer-top{
  background: #F1EFED;
  padding: 22px 0 26px;
}


#siteFooter .footer-inner{
  width: 950px;
  margin: 0 auto;
  box-sizing: border-box;
}

/* ここが肝：4カラムGrid（右端ピッタリ） */
#siteFooter .footer-grid{
  display: grid !important; /* 既存CSSで潰される対策 */
  grid-template-columns: 170px 210px 280px 190px;
  justify-content: space-between; /* 左右ぴったり */
  align-items: start;
  column-gap: 0; /* 余白は space-between に任せる */
}

/* カラム内で長い文字がはみ出してレイアウト崩れない対策 */
#siteFooter .footer-col{
  min-width: 0;
}

/* 見出し */
#siteFooter .footer-title{
  margin: 0 0 5px;
  padding: 0;
  font-size: 14px;
  font-weight: 600;
  position: relative;

}

/*#siteFooter .footer-title::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.25em;
  width: 2px;
  height: 1em;
  background-color: var(--enji);
}*/

/* リスト初期化 */
#siteFooter .footer-list{
  margin: 0;
  padding: 0;
  list-style: none;
}

#siteFooter .footer-list li{
  margin: 0;
  padding: 0;
}




/* リンク */
#siteFooter .footer-list a,
#siteFooter .footer-schedule a{
  position: relative;
  display: block;
  padding: 4px 0 ;
  text-decoration: none;
}

#siteFooter .footer-list a:hover,
#siteFooter .footer-schedule a:hover{
  color:#b11c2a;
}

/* 2階層目（second）にアイコンを付与（指定アイコン） */
#siteFooter .footer-list li.second a{
  padding-left: 18px; /* アイコン分 */
}

#siteFooter .footer-list li.second a::before{
  content: "";
  position: absolute;
  left: 5px;
  top: 45%;
  transform: translateY(-50%);
  width: 5px;
  height: 5px;
  background: url("/images/ico/ico_second.png") no-repeat center center;
  background-size: contain;
}



#siteFooter .footer-spacer{
  height: 20px;
}

/* 「専門外来日程表」だけ少し余白 */
#siteFooter .footer-schedule{
  margin: 10px 0 0;
  padding: 0;
}

/* 下段（濃い背景・全幅） */
#siteFooter .footer-bottom{
  background: #7A7068;
  padding: 30px 0 45px;
  color: #fff;
}

/* 下段リンク */
#siteFooter .footer-bottom-nav{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  justify-content: center;
  font-size: 14px;
}

#siteFooter .footer-bottom-nav a{
  color: #fff;
  text-decoration: none;
}

#siteFooter .footer-bottom-nav a:hover{

	text-decoration: underline;
}

#siteFooter .footer-bottom-nav .sep{
  opacity: .7;
}

/* コピーライト */
#siteFooter .footer-copy{
  margin: 20px 0 0;
  text-align: center;
  font-size: 14px;
  opacity: .95;
}

/* 念のため：ulに変な指定が当たってても崩れないように */
#siteFooter ul.footer-list{
  display: block;
}

/* =========================
  もしSP対応が必要なら（任意）
  ※PCだけなら削除OK

@media (max-width: 980px){
  #siteFooter .footer-inner{
    width: auto;
    padding: 0 16px;
  }
  #siteFooter .footer-grid{
    grid-template-columns: 1fr 1fr;
    column-gap: 20px;
    row-gap: 18px;
    justify-content: initial;
  }
}

@media (max-width: 560px){
  #siteFooter .footer-grid{
    grid-template-columns: 1fr;
  }
}
========================= */