@charset "UTF-8";


#page_front section{
	text-align: center;
}

#page_front section h2{
	font-size: 2em;
	margin: 0 auto 2em;
	color: #fff;
	font-weight: bold;
	position: relative;
	box-shadow: 0px 3px 5px #ccc;
	padding: .3em;
	display: block;
	border-radius: 2em;
	font-size: 1.2em;
	max-width: 600px;
	letter-spacing: .1em
	}
	
#page_front section h2 span{
	font-size: 1.8em;
	margin-right: .5em
}	

#frontslider .catch{
	width: 90%;
	margin: 1em auto;
	text-align: center;
	font-size: 1em;
	padding: 0 1.5em
}

#frontslider .catch h1,
#frontslider .catch p{
	color: #fff;
	text-shadow:0px 0px 12px #0058c2,0px 0px 3px #0055c0;
}

#frontslider .catch h1{
	font-size: 1.3em;
}

#frontslider .catch p{
	font-size: 1.3em;
}

.bg_green{
	background: #006932;
	color: #fff
}
#slide img{
	width: 100%;
	height: auto
}


@media (max-width: 667px) {
	#page_front section h2{margin: 0 1em 1em;}
	#frontslider .catch{padding: .5em}
	#frontslider .catch p br{display: none;}

	#page_front section h2 span{
		display: block;
		font-size: 1.5em;
		line-height: 1.5em;
		margin: 0
	}
	
	#page_front section h2:after{
	width: 70px;
	height: 70px;
	position: absolute;
	top:-10px;
	right:-8px;
	}
	
}	

@media  (min-width: 668px) {
	#page_front{
		margin-top: 0;
	}

	#frontslider{
		position: relative
	}
	#frontslider .catch{
		position: absolute;
		top: 40%;
		left: 50%;
		transform: translateX(-50%);
		width: 85%
	}
	#frontslider .catch h1{
		font-size: 2.5em;
	}
	
	#page_front section h2{padding: 1em .3em .6em;}
	#page_front section h2:after{
	width: 80px;
	height: 80px;
	position: absolute;
	top:-10px;
	right:-8px;
	}
	
}	

@media  (min-width: 1024px){
	#frontslider div.catch h1{
		font-size: 3em;
	}
}



/* ************************************************ 
*	#about
* ************************************************ */

#about{padding: 0 0 8em}

@media  (min-width: 668px) {
	#about{padding: 5em 0 5em}
}	


#about h2{
	background: #ee87b4;
}

#about h2:after{
	content: " ";
	background: url(../img/layout/chara-1.png) no-repeat;
	-moz-background-size:contain;background-size:contain;
}

#read{margin-bottom: 3em}

#read p{
}

#read img{
	display: block;
	margin: 0 auto 1.5em
}

@media (max-width: 667px) {
	#read p br{display: none}
}	

@media  (min-width: 668px) {
	#read p{font-size: 1.3em;line-height: 2em;
		
	}
}	


#about_wrap{
	width: 95%;
	max-width: 1024px;
	margin: 0 auto 2em
}

.about_name h3{
	font-size: 1.5em;
	margin-top: 8px;
	letter-spacing: .2em
}

.traffic{
	color: #fff;
	font-size: 1.3em;
	padding: .3em;
	
}

#kagami-shika .traffic{background: #9fc137}
#kagami-dental .traffic{background: #009fe5}



.gaikan{margin-bottom: 1em}
.gaikan > img{
	width: 100%
}



.tel{
	font-weight: bold;
	font-size: 2.5em;
	margin: 0 auto;
}
.tel a{text-decoration: none}
.tel:before{
	font-family: icomoon;
	content: "\e905";	
}

#kagami-shika .tel,
#kagami-shika .tel a{color: #9fc137}

#kagami-dental .tel,
#kagami-dental .tel a{color: #009fe5}


.dental_info .open{
	padding: .3em 1em .5em;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
	position: relative;
	margin-bottom: 1em
}

@media (max-width: 667px) {}	

@media  (min-width: 668px) {
	#about_wrap{margin: 0 auto 4em}
	.dental_info .open{
		padding: .5em 1.5em 1em;
	}
}	


#kagami-shika .open{border: solid 2px #9fc137;}

#kagami-dental .open {border: solid 2px #009fe5;}

.dental_info table{width: 100%;margin-bottom: .5em}
.dental_info table tr{
	border-bottom: solid 1px #999;
}

.dental_info table thead tr th:first-child{
	font-size: 1.2em;letter-spacing: .1em
}
.dental_info table thead th{font-weight: bold;font-family: "Jun 501";font-size: 1.1em;}

.dental_info table th,
.dental_info table td{
	padding: .5em 0;
}

.dental_info table th,
.dental_info table td{
	table-layout: fixed;
	width: 10%;
}

.dental_info table th:first-child,
.dental_info table td:first-child{
	width: 25%;
}

.dental_info table tbody td:not(:first-child){font-family: "Jun 501";font-size: 1.2em;}

.dental_info a.more_info{
	margin: 0 auto;
	width: 100%;
	max-width: 500px;
	padding: .6em;
	border-radius: 2em;
	font-size: 1.1em;
	text-decoration: none;
	display: inline-block;
	-webkit-transition: all .3s;
	transition: all .3s;
}

#kagami-shika a.more_info{border: solid 3px #9fc137;background:#9fc137;color: #fff}
#kagami-dental a.more_info{border: solid 3px #009fe5;background:#009fe5;color: #fff}

#kagami-shika a.more_info:hover{border: solid 3px #9fc137;background: #fff;color:#9fc137}
#kagami-dental a.more_info:hover{border: solid 3px #009fe5;background: #fff;color:#009fe5}

#kagami-shika a.more_info:hover:after,
#kagami-dental a.more_info:hover:after{
	font-family: icomoon;
	content: "\e977";
	padding-left: .5em
}




@media (max-width: 667px) {
	.about_name img{width: 100px;height: auto;margin-bottom: 5px}
	.dental_info{margin-bottom: 3em}
	.open_memo{font-size: .9em}
}	

@media  (min-width: 668px) {
	.about_name h3{
	font-size: 1.8em;
	margin-top: 8px;
	letter-spacing: .3em
	}
	
	.dental_info {
		display: flex;
		justify-content: space-between
	}
	
	.dental_info > *{
		width: 47%;
		margin: 0 auto
	}
	
	.open_memo{font-size: 1.1em}
}	

#access_map{margin-top: 4em}

#map{height: 400px}

/* ************************************************ 
*	#news
* ************************************************ */

#news{
  background-color   : #ffeac2;
  background-image   : radial-gradient(#ffe0a3 20%, transparent 20%),
                       radial-gradient(#ffe0a3 20%, transparent 20%);
  background-position: 0 0, 12px 12px;
  background-size    : 24px 24px;
  position: relative;
  padding: 0 0 5em!important;
  margin-bottom: 6em
  }
  
#news h2{
	background: #f5a200;
	margin-bottom: 3em;
	top: -20px
}

#news h2:after{
	content: " ";
	background: url(../img/layout/chara-2.png) no-repeat;
	-moz-background-size:contain;background-size:contain;
}

#news_hl > li{
	background: #fff;
	padding: 1em 1.5em;
	border-radius: 8px;
	margin: 1em auto
	
}

#news_hl li dl{
	text-align: left
}
#news_hl li dl dt{
	font-size: 1.2em;
	margin-bottom: .7em
}
#news_hl li dl dt span{
	display: block;
	font-size: .7em
}


ul.category_list{
	display: flex;
	justify-content: flex-start;
	flex-wrap:wrap;
	margin-bottom: 1em
}
ul.category_list li{font-size: .8em;margin-right: 1%;width: 49%}
ul.category_list li a{text-decoration: none;color: #fff;display: block;
	padding: .2em .6em;
}
ul.category_list li a.kagami-shika{background: #9fc137}
ul.category_list li a.kagami-dental{background: #009fe5}


@media (max-width: 667px) {}	

@media  (min-width: 668px) {
	#news_hl{
		margin: 0 -2% 0 0;
	}
	#news_hl > li{
	width: 31%;
	margin-right: 2%;
	}
	
	#news_hl > li:nth-child(2){
	}
}	




/* ************************************************ 
*	#shinryo
* ************************************************ */

#shinryo{
	background-color   : #c2e4ff;
	background-image   : radial-gradient(#a3d6ff 20%, transparent 20%),
                       radial-gradient(#a3d6ff 20%, transparent 20%);
	background-position: 0 0, 12px 12px;
	background-size    : 24px 24px;
	position: relative;
	 padding: 0 0 5em!important;
  margin-bottom: 6em
	}


#shinryo h2{
	background: #409ad6;
	margin-bottom: 3em;
	top: -20px
}

#shinryo h2:after{
	content: " ";
	background: url(../img/layout/chara-3.png) no-repeat;
	-moz-background-size:contain;background-size:contain;
}

#kamoku_wrap{width: 90%;
	max-width: 980px;
	margin: 0 auto 2em;
	background: #fff;
	-webkit-border-radius: 8px;
	-moz-border-radius: 8px;
	border-radius: 8px;
	position: relative;
	padding: 1.5em;
}


#kamoku_wrap ul#kamoku{margin-bottom: 2em;
	display: flex;
	justify-content: flex-start;
	flex-wrap:wrap;
}
#kamoku_wrap ul#kamoku li:not(:last-child){
	background: #eee;
	-webkit-border-radius: 50px;
	-moz-border-radius: 50px;
	border-radius: 50px;
	position: relative;
	padding: .3em 1em;
	font-size: 1.1em;
	margin: .2em .5%;
	text-align: center;
	width: 49%;
}

#kamoku_wrap ul#kamoku li:last-child{
	margin-top: 1.8em;
	display: inline-block;
}

#kamoku>div{
	text-align: center
}

#kamoku_wrap .p-syouni{width: 100%}

@media (max-width: 667px) {
	#kamoku_wrap #kamoku_img{margin-bottom: 1em}
	#kamoku_wrap ul#kamoku li{width: 100%;text-align: center}
	#kamoku >div a:before{top: -.5em!important}
}	

@media  (min-width: 668px) {
	#kamoku_wrap #kamoku_img{width: 40%;margin-right:3%}
	#kamoku_wrap ul#kamoku{width: 57%}
	#kamoku_wrap ul#kamoku li:not(:last-child){font-size: 1.3em;}
}	

#hoken{
	margin-top: 1.5em;
	padding-top: 1em;
	text-align: left;
	border-top: solid 1px #eee;
	align-items: center
}

#hoken h3{margin-bottom: .5em;font-size: 1.5em}

#hoken ul{}

#hoken li{
	text-indent: -1.5em;
	margin-left: 1.5em
}

#hoken li:before{
	content: "※";
	padding-right: .3em
}

@media (max-width: 667px) {
	#hoken h3{text-align: center}
}	

@media  (min-width: 668px) {
	#hoken h3{margin-right: 1em}
}	



/* ************************************************ 
*	#doctor
* ************************************************ */

#doctor{
	position: relative;
	margin-bottom: 3em
}

#doctor h2{
	background: #00a844;
	margin-bottom: 2em;
}

#doctor h2:after{
	content: " ";
	background: url(../img/layout/chara-4.png) no-repeat;
	-moz-background-size:contain;background-size:contain;
}

#dr_list{}


.prof_txt{text-align: left;}
.prof_txt dl{margin-bottom: 1em}

.prof_txt dt{
	font-size: 1.5em;
	margin-bottom: .5em;
	letter-spacing: 0; 
	border-bottom: solid 3px #00a844;
}

.prof_txt dt .en{font-size: .6em;display: block;padding-top: .2em}
.prof_txt dd{line-height: 1.4em}

.prof_txt ul{font-size: .9em}

@media (max-width: 667px) {
	.prof{margin:0 auto 3em;width: 90%;}
	.prof_img{margin: 20px auto;text-align: center;width: 260px;}
	.prof_txt p br{display: none}
}	

@media  (min-width: 668px) {
	#doctor{margin-bottom: 3em}
	#doctor h2{margin-bottom: 5em!important;}
	.prof{
		width: 49%;
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		margin-bottom: 3em
		}
	.prof_img{width: 40%;margin-right: 5%}
	.prof_img img{width: 100%;height: auto}
	.prof_txt{width: 50%;text-align: left}
}



/* ************************************************ 
*	#doctor
* ************************************************ */

#facilities{
	position: relative;
	padding-bottom: 10%
}

#facilities h2{
	background: #895094;
	margin-bottom: 4em;
}

#facilities h2:after{
	content: " ";
	background: url(../img/layout/chara-6.png) no-repeat;
	-moz-background-size:contain;background-size:contain;
}

.fslide{
	text-align: left;
	width: 90%;
	max-width: 800px;
	margin: 3em auto 2em
}

.fslide h3{
	margin-bottom: .5em;
	font-size: 1.2em
}

#gallery{
	padding: 5em 0 0;
	position: relative;
	overflow: hidden
}

#gallery_slide img{
	width: 100%;
	height: auto
}

@media screen and (max-width: 767px) {
	.fslide{width: 90%;}
	.fslide > div{
		padding: 1em 0
	}
}	

@media print, screen and (min-width: 768px) {
	.fslide{
		display: flex;
		flex-wrap:wrap;
	}
	
	.fslide img{
		width: 40%;
		height: auto
	}
	.fslide > div{
		width: 60%;
		padding: 0 0 0 1.8em
	}
}	

@media print, screen and (min-width: 1024px) {}	



#column-news{margin-bottom: 5%}


#column-news h2{
	background: #a6c200;
	margin-bottom: 4em;
}

#column-news h2:after{
	content: " ";
	background: url(../img/layout/chara-7.png) no-repeat;
	-moz-background-size:contain;background-size:contain;
}

.column-list > ul {
	  display: flex;
	  margin: 0 auto;
	  padding: 2em 0;
	  gap: 15px;
	  max-width: 1000px;
	  flex-wrap: wrap
	}

.column-list > ul{
	
}

.column-list > ul > li figure{
}



.column-list > ul > li figure img{
	border-radius: 5px;
	position: relative;
	width: 100%;
	height: 100%;
	object-fit: cover;
	aspect-ratio: 1.2 / 1;
	-webkit-transition: all .3s;
	transition: all .3s;
}

.column-list > ul > li:hover figure img{
	opacity: .8
}

.column-list > ul li .column-txt{
	text-align: left;
	padding: 0 0 0 1em;
	}

.column-list,
.column-list a{
	color: #859c00
}

.more{width: 90%;
	margin: 0 auto 2em;
}

.more a{
	display: block;
	border: solid 2px #a6c200;
	padding: .8em 3em;
	width: 100%;
	max-width: 360px;
	border-radius: 50px;
	position: relative;
	margin: 0 auto;
	text-decoration: none;
	color: #a6c200;
	-webkit-transition: all .3s;
	transition: all .3s;
}

.more a::after{
	font-family: icomoon;
	content: "\e977";
}


.more a:hover{
	background: #a6c200;
	color: #fff
}

ul.tag{
	display: flex;
	flex-wrap: wrap
}
ul.tag li::before{
	content: "#";
}

ul.tag li:not(:last-child){
	margin: 0 5px 0 0
}





/* 親コンテナ */
.staff_prof {
  max-width: 400px; /* 必要に応じて調整 */
  color: #859c00;
  display: flex;
  justify-content: center;
  flex-direction: column;
  font-weight: bold;
  line-height: 1.6;
  margin: 0 auto
}

/* 各項目（dl単位）のレイアウト */
.staff_prof dl {
  display: flex;
  margin: 0 0 20px 0; /* 下のマージンで行間を調整 */
}

/* 左側のラベル (dt) */
.staff_prof dt {
  width: 180px; /* ラベルの幅を固定して右側を揃える */
  flex-shrink: 0; /* 幅が縮まないように固定 */
  text-align: right;
  padding-right: 25px; /* ラベルと内容の間の余白 */
}

/* 右側の内容 (dd) */
.staff_prof dd {
  flex-grow: 1;
  text-align: left
}

/* 改行（br）がある場合の微調整 */
.staff_prof dd br {
  display: block;
  content: "";
  margin-top: 8px; /* <br> で改行された時の行間を広げたい場合 */
}



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

	.column-list > ul{
		flex-direction: column;
		margin: 2em auto 2em;
		width: 88%;
	}
	.column-list > ul > li{
		display: flex;
		align-items: flex-start;
		gap: 10px;
	}
	
	.column-list > ul > li figure{
		width: 100px;
		height: auto
	}
	.column-list > ul > li .column-txt{
		width: calc(100% - 100px);
	}
	
}	

@media print, screen and (min-width: 768px) {
	.column-list > ul{
		  gap: 30px;
	}
	
	.column-list > ul > li{
	width: calc((100% - (30px * 2)) / 3);
    }

	
	.column-list > ul > li .column-txt{
	padding: 1em .5em;
	}
	
}	

@media print, screen and (min-width: 1024px) {}	

