body{
color: #0A0A0A;
font-family:"游ゴシック Medium",YuGothic,YuGothicM,"Hiragino Kaku Gothic ProN","Hiragino Kaku Gothic Pro",メイリオ,Meiryo,sans-serif;
font-size: 16px;
}
a{color:#EF8E00;}
a.link_black{color: #0A0A0A;}
a:hover,a:hover.link_black{color: #efc337;}

a img {
  opacity: 1;
  -webkit-transition: .3s ease-in-out;
  transition: .3s ease-in-out;
}
a:hover img {
  opacity: .6;
}

p{  line-height: 1.5;}

/*header*/
#pre_header{
    position: relative;
}
#pre_header .header_tel {
    position: absolute;
    top:0;
    right: 100px;
    z-index: 99;
}
#pre_header .header_tel{
    width: 208px;
    height: 63px
}

#pre_header .header_tel_sp{
border-bottom: 1px solid #efc337;
border-top: 1px solid #efc337;
padding: 8px 4px;
}

/*nav*/
.navbar{
min-height: 50px;
overflow: hidden;
padding-top:0.7rem;
}
.navbar-toggler{
    position: absolute;
    top:2px;
    right: 0;
}
.navbar-elixir {
    background: rgba(245,245,245,0.92);
    margin-bottom: 0;
    }
.znav-container a:not(.btn){
color: #0A0A0A;
}
.toggle_menu {
    font-weight: 600;
    font-size: 1rem;
    color: #081117!important;
}
hamburger {
padding: 6px;
}

/*menu_active*/
@media (min-width: 62em) {
ul.navbar-nav > li> a:after ,ul.navbar-nav > li.active > a:after,
ul.dropdown >li > a:after, ul.dropdown >li.active > a:after
{
	content: '';
	width: 0;
	transition: all 0.3s ease;
	border-bottom: 3px solid #2872C5;
    padding-bottom: 4px;
	display: block;
}

ul.navbar-nav > li> a:hover:after,ul.navbar-nav > li.active > a:after,
ul.dropdown >li > a:hover:after,ul.dropdown >li.active > a:after
{
	width: 100%;
	border-bottom: 3px solid #2872C5;
}
}
@media (max-width: 61.99em) {
    ul.navbar-nav > li.active > a,ul.navbar-nav > li> a:hover,
     ul.dropdown > li.active > a,ul.dropdown > li> a:hover
    {
        color: #2872C5;
    }
}


/*タイポ*/
h1{line-height: 1.2;}

/*h3.h3_long{
    letter-spacing: 0.2!important;
    font-size: 1.4375rem;
    border-bottom: 3px solid #efc337;
    padding-bottom: 6px;
    margin-bottom: 20px;
}*/
  h3.h3_long{
   letter-spacing:0.05rem;
  font-size: 1.25rem;
  padding-bottom: 8px;
  border-bottom: solid 2px #ededed;
  position: relative;
  }
  h3.h3_long::after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 2px #efc337;
  bottom: -2px;
  width: 10%;
}
  
h3.h3_short{
    letter-spacing: 0rem;
    font-size: 1.4375rem;
    text-align: center;
}
hr {
  background-color: #efc337;
  margin-top: 0.5rem;
  }
hr.short_blue {
  background-color: #032D76;
  margin-top: 0.5rem;
  height: 6px;
  border-radius: 3px;
  }
  
  h4.h4_long{
  font-size: 1.25rem;
  padding-bottom: 8px;
  border-bottom: solid 2px #ededed;
  position: relative;
  }
  h4.h4_long::after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 2px #efc337;
  bottom: -2px;
  width: 10%;
}
  
  
/*footer*/
#footer_menu{
background-color: #3e4042;
}
#footer_menu ul.ul_footmenu li a{
    color: #fff;
    font-size: 0.9375rem;
} 
#footer_menu ul.ul_footmenu li a:hover{
    color: #efc337;
}
#footer_bottom{
    background-color: #282828;
    color: #fff;
}
#footer_bottom h2{
    font-size:1.125rem;
    letter-spacing: 0;
}
#footer_bottom h2 a,#footer_bottom a{
    color: #fff;
}

/*to top*/
#PageTopBtn {
    position: fixed;
    right: 10px; 
    z-index: 999;
}
/*phone*/
#bar_phone{
	position: fixed;
	width: 100%;
	left:0;
	bottom: 0;
	z-index: 2;
	opacity: 0;
	background-color: #deba29;
}
#bar_phone ul{
	display: flex;
	width: 100%;
	height: 44px;
	z-index: 3;
	margin: 0;
	padding: 0;
}
#bar_phone ul li {
	width: 50%;height: 100%;
   	display: flex;
	align-items: center;
}
#bar_phone ul li a{
	color: #ffffff;
	font-size: 15px;
	font-weight: 700;
	display: block;
	width: 100%;
	text-align: center;
	margin: 0;
}
#bar_phone ul li:first-child{
	border-right: 1px solid #ffffff;
}
#bar_phone.UpMove{
	animation: UpAnime 0.5s forwards;
}
@keyframes UpAnime{
  from {
    opacity: 0;
	transform: translateY(100px);
  }
  to {
    opacity: 1;
	transform: translateY(0);
  }
}
#bar_phone.DownMove{
	animation: DownAnime 0.5s forwards;
}
@keyframes DownAnime{
  from {
  	opacity: 1;
	transform: translateY(0);
  }
  to {
  	opacity: 1;
	transform: translateY(100px);
  }
}

/*動画を見るボタン*/
#btn_training{
	position: fixed;
	width: 50px;
	height: 200px;
	top: calc(50vh - 100px);
	right: 0;
	z-index: 2;
	opacity: 0;
	transform: translateX(100px);
	box-shadow: 0px 8px 16px -2px rgba(10,10,10,0.1), -8px 9px 6px 1px rgba(10,10,10,0.03);
}

#btn_training.LeftMove{
	animation: LeftAnime 0.5s forwards;
}
@keyframes LeftAnime{
  from {
    opacity: 0;
	transform: translateX(100px);
  }
  to {
    opacity: 1;
	transform: translateX(0);
  }
}
#btn_training.RightMove{
	animation: RightAnime 0.5s forwards;
}
@keyframes RightAnime{
  from {
  	opacity: 1;
	transform: translateX(0);
  }
  to {
  	opacity: 1;
	transform: translateX(100px);
  }
}
	
/* パンくず*/
#pankuzu {
	font-size: 0.8125rem;
	line-height: 1.4;
	padding: 7px 0 7px;
	background-color: #f8f5ec;
}
#pankuzu strong {
	font-weight: normal;
	padding-left:18px;
	background-image:url( "../images/arrow_black_right.png");
	background-repeat: no-repeat;
	background-position: left center;
   background-size: 6px 11px;

}
#pankuzu a,#pankuzu a:hover{
	color:#EF8E00;
}

/*mainimg*/
/*.h-full-mainimg{height: calc(100vh - 143px);}*/
.h-full-mainimg{
height: calc(100vh - 143px); 
height: calc(var(--vh, 1vh) * 100 - 143px);
}

#scrollArea.hide{
		transform: translateY(200%); /* 下に消えるようにする */
}
#scrollArea{
    position:fixed;
    bottom:0; 
	left: 0;
    transition: 1s; 
    z-index: 100; 
}
#scrollArea .banner_box {
	width: 600px;
	max-width: 98%;
	display: block;
	margin: 20px auto;
	padding: 2px;
	background: #E41010;
	box-shadow: 0 0 0 3px #FFF, 0 0 0 8px #E41010;
	box-sizing: border-box;
}

/*scroll*/
.scroll_next a{
 position: absolute;
  bottom:/* 20px*/0;
  left:50%;
  margin-left: -20px;
  z-index: 100;
  display: inline-block;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  text-decoration: none;
  color: #ffffff;
  font-weight: normal;
  padding-top: 24px;
}
.scroll_next a span {
  position: absolute;
  top: 0;
  left: 50%;
  width: 18px;
  height: 18px;
  margin-left: -9px;
  border-left: 1px solid #ffffff;
  border-bottom: 1px solid #ffffff;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  -webkit-animation: sdb 2s infinite;
  animation: sdb 2s infinite;
  box-sizing: border-box;
}
@-webkit-keyframes sdb {
  0% {
    -webkit-transform: rotate(-45deg) translate(0, 0);
  }
  20% {
    -webkit-transform: rotate(-45deg) translate(-5px, 5px);
  }
  40% {
    -webkit-transform: rotate(-45deg) translate(0, 0);
  }
}
@keyframes sdb {
  0% {
    transform: rotate(-45deg) translate(0, 0);
  }
  20% {
    transform: rotate(-45deg) translate(-5px, 5px);
  }
  40% {
    transform: rotate(-45deg) translate(0, 0);
  }
}



/*pagetop*/
#pagetopimg{
    max-height:200px;
}

#pagetopimg_bg{
    background-image: url("../images/pagetop/pagetopimg.jpg");
    background-position: center bottom;
}
/*page_nave*/
#page_nave{
    background-color: #3e4042;
    padding: 0;
}
#page_nave a{
    display: block;
    color: #fff;
    padding: 24px 10px;
    font-size: 0.9375rem;
    font-weight: normal;
    
}
#page_nave a::after {
    content: '';
    display: inline-block;
     width: 10px;
    height: 6px;

    vertical-align: middle;
    background-image: url( "../images/arrow_white_down.png");
    background-size: contain;
    background-repeat: no-repeat;
    margin-left: 10px;
}
#page_nave a:hover{
    color:#0A0A0A;
    background-color: #fff;
}
#page_nave a:hover::after{
    background-image: url( "../images/arrow_black_down.png");
}

/*home*/
#home_card{
background-image: url("../images/home/photo_signboard.jpg");
background-size: cover;
background-repeat: no-repeat;
background-color: rgba(47,49,50,0.92);

}

/*診療時間*/
#home_schedule .recept,#home_schedule .kyushin{
    background-color: /*#6094d3*/#2872C5;
    color: #fff;
    font-weight: bold;
    padding: 6px 5px;
}
#home_schedule .kyushin{
    background-color:#fff;
    /*border-bottom: 2px solid #ee6a54;
    border-top: 2px solid #ee6a54;*/
    border: 2px solid #ee6a54;
}
#home_schedule dl.dl_schedule {
    margin-left: 5px;
    margin-bottom: 0;
}
#home_schedule dl.dl_schedule dt{
    background-color: #fff;
    border-radius: 2px;
    color: #2872C5;
    text-align: center;
    vertical-align:middle;

  display: flex;
  justify-content: center;
  align-items: center;
}
#home_schedule dl.dl_schedule dd{
    margin-bottom: 0;
}

/*なやみ*/
#home_nayami .nayami_item{
    background-color: #fff;
    border: 1px solid #fff;
    border-radius: 8px;
    text-align: center;
    padding: 20px 5px 4px;
}

#home_nayami .icon{
    width: 70px;
    height: 70px;
    margin: 0 auto 20px;
}
#home_nayami h4.title{
    font-size: 0.9375rem;
    line-height: 1.5;
    letter-spacing: -0.1rem;
}

/*院長・医師休診読み込み*/
#doctor_info .infodate{
    font-style: italic;
    font-weight: bold;
}
#doctor_info ul li, ul.ul_square li {
margin-left: -20px;
  padding: 2px 0;
  list-style-type: none!important;
  position: relative;
}
#doctor_info ul li:before,ul.ul_square li:before {
  content: "■";
  color: #efc337;
  position: absolute;
  left:-20px;
}

/*お知らせ*/
#information article{/*アンカーのズレの解消*/
	margin-top:-80px;
  padding-top:80px;
}
ul.info_list li a{
	display: block;
	padding:6px 0;
	font-weight: normal;
	color: #0A0A0A;
}
ul.info_list li a:hover{
	background-color: #f8f5ec;
}

/*subpage*/
dl.dl_time,dl.dl_table{
 border-bottom: 1px solid #f4f4f4;
}
dl.dl_time dt,dl.dl_table dt{
    background-color: /*#f4f4f4;*/#2872C5;
    color: #fff;
    border-top: 1px solid #fff;
    padding: 10px 5px ;
    text-align: center;
    
  display: flex;
  justify-content: center;
  align-items: center;
}
dl.dl_table dt{
    background-color: #f4f4f4;
    color: #0A0A0A;
}
dl.dl_time dd,dl.dl_table dd{
    border-top: 1px solid #f4f4f4;
    padding: 10px 5px 4px 15px; 
}

ul.jisseki li{
    background-color: #EBEBEB;
    border-radius: 2px;
    padding: 4px 14px!important;
    text-align: center;
    margin-right: 10px!important;
    margin-bottom: 4px;
}

/*fukidashi*/
.fukidashi_bottom {
	position: relative;
background: #E8F1FA;
	border: 3px solid #99beed;
   border-radius: 8px;
   padding: 20px;
   margin-top: 10px;
   margin-bottom: 10px;
   text-align: center;
}
.fukidashi_bottom:after, .fukidashi_bottom:before {
	top: 100%;
	left: 50%;
	border: solid transparent;
	content: " ";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
}

.fukidashi_bottom:after {
	border-color: rgba(232, 241, 250, 0);
	border-top-color: #E8F1FA;
	border-width: 10px;
	margin-left: -10px;
}
.fukidashi_bottom:before {
	border-color: rgba(153, 190, 237, 0);
	border-top-color: #99beed;
	border-width: 14px;
	margin-left: -14px;
}

/*list*/
article ul.list_dot{
list-style-type:none;
padding-inline-start: 20px;
}
article ul.list_dot li{
padding-left:16px;
background-image:url("../images/list_dot.png");
background-repeat:no-repeat;
background-size: 6px 6px ;
background-position:0 8px;
}

ul.list_uldot>li{
    border-bottom: 2px dotted #ccc;
    margin-bottom: 5px;
    padding-bottom: 8px
}

/*括弧付き数字*/
ol.list_parentheses{
  padding:0;
}
ol.list_parentheses li{
	background:none;
  list-style-type:none;
  list-style-position:inside;
  counter-increment: cnt;
    padding-left: 1.8em;
    text-indent: -1.8em;
}
ol.list_parentheses li:before{
  display: marker;
  content: "(" counter(cnt) ") ";
}

/*btn*/
 .btn_yellow{
	background-color:/*#EABD2D*/#deba29;
    border-color:#deba29;
    color: #fff!important;
    width: 100%;
    border-radius: 0;
    font-size: 1rem;
}
a:hover.btn_yellow{
	background-color:#fff;
   color: #deba29!important;
}
 .btn_blue{
	background-color:#2872C5;
    border-color:#2872C5;
    color: #fff!important;
    width: 100%;
    border-radius: 0;
    font-size: 1rem;
}
a:hover.btn_blue{
	background-color:#fff;
   color: #2872C5!important;
}
.btn_reserved_pc{
background-color: #E41010;
border-radius: 0;
color:#ffffff!important;
padding: 0.8rem 1rem;
font-size: 1rem;
border-color:#E41010;
}
a:hover.btn_reserved_pc{
	background-color:#fff;
   color: #E41010!important;
}
.btn_reserved_sp{
background-color: /*#EA482E*/#E41010;
border-radius: 0;
color:#ffffff!important;
padding: 0.5rem 1.4rem;
font-size: 1rem;
letter-spacing: -0.05em;
}


/*font*/
.font_rounded { 
font-family: "Kosugi Maru",sans-serif; 
}

.font_15{font-size: 0.9375rem;}
.font_17{font-size:1.0625rem;}

.color_blue{color: #2872C5;}
.color_yellow{ color:#efc337;}
.color_black{color: #0A0A0A;}
.color_red{color: #F10000;}

.ls_-1{
    letter-spacing:-0.09rem;
}

.underline_yerrow{
background: linear-gradient(transparent 60%, #ffeb94 40%);
}
span.badge_yerrow{
	background-color: #deba29;
	color: #fff;
	font-weight:bold;
	padding: 3px 10px;
	font-size: 1.0625rem;
}

/*bg*/
.background_gray{
background-color: #f4f4f4;
}
.background_yellow{
background-color: #f8f5ec;
}
.background_blue{
background-color: #E1F0F6;
}

/*iframe*/
.wrap_iframe_l{/*4行以上*/
  position: relative;
  width: 100%;
  padding: calc(150 / 700 * 100%) 0 0; /*(高さ/幅×100)*/
}
.wrap_iframe_m{/*3行まで*/
  position: relative;
  width: 100%;
  padding: calc(100 / 700 * 100%) 0 0; /*(高さ/幅×100)*/
}
.wrap_iframe_s{
  position: relative;
  width: 100%;
  padding: calc(70 / 700 * 100%) 0 0; /*(高さ/幅×100)*/
}
.wrap_iframe_l iframe,.wrap_iframe_m iframe,.wrap_iframe_s iframe{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
          
/*googlemap*/
.googlemap-container {margin-bottom: 10px; position: relative; padding-bottom: 38%; height: 0; overflow: hidden; max-width: 100%;border:solid 5px #fff; } 
.googlemap-container iframe, .googlemap-container object, .googlemap-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

/*youtube*/
.movie-wrap {
     position: relative;
     padding-bottom: 56.25%; /*アスペクト比 16:9の場合の縦幅*/
     height: 0;
     overflow: hidden;
}
 
.movie-wrap iframe {
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
}

.opacity_0{
	opacity: 0;
}

/*-------------------------------------------*/
/*col-sm*/
/*-------------------------------------------*/
@media (max-width:767px) {

    /*#page_nave{ padding-bottom: 6px; padding-top: 6px; }*/
    #page_nave a{
        border-right: none;
        border-bottom:1px solid #aaa;
        padding: 10px 6px;
    }
    
    #pagetopimg{
        max-height:80px;
    }
    
    #home_card{
        background-image: url("../images/home/photo_signboard_sp.jpg");
}
    /*iframe*/
    .wrap_iframe_l{
      position: relative;
      width: 100%;
      padding: calc(380 / 700 * 100%) 0 0; /*(高さ/幅×100)*/
    }
     .wrap_iframe_m{
      position: relative;
      width: 100%;
      padding: calc(250 / 700 * 100%) 0 0; /*(高さ/幅×100)*/
    }
    .wrap_iframe_s{
      position: relative;
      width: 100%;
      padding: calc(200 / 700 * 100%) 0 0; /*(高さ/幅×100)*/
    }
	
	.link_tel,#footer_bottom a.link_tel{ color:#efc337;}
	#footer_bottom{
		padding-bottom: 50px!important;/*bar_phoneの高さ*/
	}
}
@media (max-width:599.9px) {
	#scrollArea .banner_box {
	 width: 100%;
	}
}

/*-------------------------------------------*/
/*プリント領域*/
/*-------------------------------------------*/
@media print{
	#znav-container,#page_nave,#pagetopimg,#footer_menu,#pankuzu{
		display:none;
		}
}
