/* --------------------------------------
reset
--------------------------------------- */
html, body, body div, span, object, iframe, h1, h2, h3, h4, h5, h6, p,
blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd,
q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li,
fieldset, form, input, label, legend, table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, figure, footer, header, hgroup, menu, nav, section, time, mark, audio, video, a{
  margin:0;
  padding:0;
  border:0;
  outline:0;
  font-size:100%;
  vertical-align:baseline;
  background:transparent;
  box-sizing: border-box;
}
article, aside, figure, footer, header, hgroup, nav, section{display:block;}
html{overflow-y:scroll;}

.clearfix:after {content: " "; display: block; height: 0;clear: both; visibility: hidden;}
.clearfix {display: inline-table;}
* html .clearfix {height: 1%;}
.clearfix {display: block;}

/*
Base
*/
body {color:#444; font-size:15px; line-height:1.7; 	font-family: Verdana, Geneva, "sans-serif";}
#main{max-width:980px; margin:0 auto;}
@media (max-width: 768px) {
#main{margin:0 20px;}
}

br.sp{display:none;}

.pc_area{display:none;}

@media screen and (max-width: 500px){
  .pc_area{display:inherit;}
  .sp{display:none;}
}

@media (max-width: 500px) {
br.sp{display:inherit;}
}
hr{border:0; height:1px; margin:20px 0; clear:both; display:block; border-bottom:dotted 1px #666;}
p{margin:0; padding:0;}
p+p{margin:1em 0 0 0; padding:0;}
a:link, a:visited {color:#198cd1; text-decoration: underline;}
a:hover, a:active {opacity:.6;}
.b{font-weight:bold;}
.red{color:red;}
.※{position:relative; padding: 0 0 0 1.5em; margin: 20px 0;}
.※:before{content:"※"; position: absolute; left:0; top:0;}

.f12{font-size:12px;}
.f20{font-size:20px;}

.mt10{margin-top:10px !important;}
.mt30{margin-top:30px !important;}
.mt50{margin-top:50px !important;}
.mb10{margin-bottom:10px !important;}

h2{ /*background:url(../images/h2.jpg) repeat-y;*/ background: #005eb5; color:#fff; font-size:22px; padding:10px 10px; margin:15px 0 20px;  }

h3{
	/*padding: 0.5em;/*文字周りの余白*/
  /*color: #494949;/*文字色*/
  /*background: #fffaf4;/*背景色*/
  /*border-left: solid 5px #ffaf58;/*左線（実線 太さ 色）*/
  font-size:32px;
  margin: 30px 0px;
	
	color:#0059aa;
	font-family: Verdana, Geneva, "sans-serif";
	text-align: center;
}

h4{font-weight:bold; text-align:left; font-size:20px; margin:10px 0 10px; line-height: 1.5; color:#3253f5;
  padding: .25em 0 .2em .10em;
  border-bottom: 1px solid #ccc;
}
h4.box{border:3px solid #3253f5; padding:20px; font-size:20px; text-align: center; line-height:1.5; margin: 30px 0;}
h4 + p{margin-bottom:20px;}
h5{      
  background: #dfefff;
  box-shadow: 0px 0px 0px 5px #dfefff;
  border: dashed 2px white;
  padding: 0.5em 0.5em;
  font-size:20px;
  margin:15px 0px;
} 

@media (max-width: 500px) {
	h2{font-size:18px; padding: 5px 0 5px 10px;}
	body#index h2{font-size:15px; line-height:20px; padding:10px 10px 10px;}
	h3{font-size:20px; padding:5px; margin:25px 0;}
	h4.box{padding:15px 0px; font-size:14px;}
	h4{font-size:16px;padding:10px 0px;margin:10px 0;}
	h5{font-size:16px;}
}

/*header*/
header > div{background-image:url(../images/header.jpg); background-color: #0068fb; background-position:center bottom; background-repeat:repeat-x; height: 120px;}
header > div > div{margin:0 auto; width:100%; max-width:980px; text-align: right; position: relative;}
header > div > div img.logo{position:absolute; left:0; top:10px; height: 100px; width:auto;}
header img.tel{margin-right:0px; margin: 0px}
header h1{padding:20px 0 5px; margin:0; font-size:14px; font-weight:bold; line-height: 1; color:#fff;}
header a:after{display:none;}
header p{color:#FFF; font-size:80%;}

@media (max-width: 960px) {
	header > div{padding:0 10px;}
	body.index header h1{margin-right: 10px;}
}
@media (max-width: 768px) {
	header > div{height:auto; min-height: 100px;}
	header img{width:150px; height:auto;}
	header > div > div img.logo{height: 80px;}
	body.index header h1{margin-left: 250px;}
}
@media (max-width: 500px) {
	header > div{min-height: 70px;}
	header h1, header img.tel{display:none;}
	header img{margin:20px 60px 0 0; width: 130px;}
	header img.logo{margin:0; height:50px !important;}
}

/*footer*/
footer {background:#ebebeb; font-size:12px; width:100%; letter-spacing:.1em; margin-top:50px;}
footer > div{width: 100%;  max-width:950px; padding: 20px 0; margin: 0 auto; display: table;}
footer > div > div{ display: table-cell; vertical-align: top;}
footer > div > div:first-child{text-align: left;}
footer > div > div:last-child{text-align: center;}
footer > div > div:first-child a{text-decoration:none; display:inline-block; line-height:30px; width:30px; height:30px; font-size:20px; color:#fff; border-radius:5px; margin: 0; text-align: center;}
footer > div > div a.fb{
background: #6f67bd; /* Old browsers */
background: -moz-linear-gradient(top, #6f67bd 0%, #564f9d 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(top, #6f67bd 0%,#564f9d 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to bottom, #6f67bd 0%,#564f9d 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#6f67bd', endColorstr='#564f9d',GradientType=0 ); /* IE6-9 */
}
footer > div > div a.is{
background: #5576bd; /* Old browsers */
background: -moz-linear-gradient(top, #5576bd 0%, #3c5a9a 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(top, #5576bd 0%,#3c5a9a 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to bottom, #5576bd 0%,#3c5a9a 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#5576bd', endColorstr='#3c5a9a',GradientType=0 ); /* IE6-9 */
}
footer > div > div a.bl{
background: #e82a2c; /* Old browsers */
background: -moz-linear-gradient(top, #e82a2c 0%, #cb0a0b 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(top, #e82a2c 0%,#cb0a0b 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to bottom, #e82a2c 0%,#cb0a0b 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#c08df6', endColorstr='#cb0a0b',GradientType=0 ); /* IE6-9 */
}
footer > div > div:first-child a:after{display:none;}
footer > div > div img a{vertical-align: bottom; margin-right: 10px;}
address{font-style:normal; font-size:11px; line-height: 11px; padding-top:10px;}
@media (max-width: 768px) {
footer {margin-top:30px;}
footer > div{padding: 20px; display: block;}
footer > div > div{display: block; text-align:center !important;}
footer > div > div img a{display:block; margin: 0 auto 10px auto;}
footer > div > div:last-child{padding-top:0px;}
}

/*pagetop*/	  
.pagetop {display: none; position: fixed; bottom: 10px; right: 10px; z-index:1;}
.pagetop a {display: block; font-size:40px; color:#ccc; line-height: 1;}
.pagetop a:hover {display: block;}	  

/*
object
*/

table#table_a {
	width: 100%;
	padding: 0;
	border: 1px #d1d2d4 solid;
	border-collapse: collapse;
	border-spacing: 0;
	margin-bottom: 1em;
}

table#table_a th {
	font-size: 1.2em;
	font-weight: 500;
	text-align: center;
	padding: .8em .1em;
	white-space: nowrap;
	vertical-align: middle;
	color: #fff;
}

table#table_a td {
	font-size: 1.1em;
	text-align: center;
	padding: .8em .1em;
	white-space: normal;
	vertical-align: middle;
}

table#table_a td.td_left {
	text-align: left;
	padding: .8em
}

/*link*/
a:after{font-family:"Font Awesome 5 Free"; margin-left:5px; font-size:10px; font-weight:600;}
a[target="_blank"]:after{content:"\f35d"; color:#bbb;}
a[href$=".pdf"]:after{content:"\f1c1"; color:red; font-size:12px; font-weight: lighter;}
a[href$=".docx"]:after, a[href$=".doc"]:after{content:"\f1c2"; color:darkblue; font-size:12px; font-weight: lighter;}
a[href$=".xlsx"]:after, a[href$=".xls"]:after{content:"\f1c3"; color:green; font-size:12px; font-weight: lighter;}

/*table*/
table{border-collapse:collapse; border-spacing:0; border:1px solid #ccc; margin: 10px 0;}
table th{border:1px solid #ccc; background:#0073b4; padding:10px; vertical-align:middle; font-weight:bold;}
table td{border:1px solid #ccc; padding:10px; vertical-align:middle; text-align:left; font-weight:normal;}

div.table{display:table; width:100%;}
div.table > div{display:table-cell; vertical-align: top;}

/*
INDEX
*/
body#index #main section + section {margin-top:40px;}
body#index #main section p > span{color:red; font-weight: bold;}
img.main{width:100%; height: auto; max-width: 980px; margin: 0px auto; display: block;}
body.index img.main{max-width: 960px;}
img.banner{width:100%; height:auto; max-width:960px; margin-bottom: 30px;}
body#index #main a.tel{display:none;}

@media (max-width: 500px) {
body#index #main a.tel{display:block; border-radius:3px; color: #fff; font-size:12px; text-decoration: none; text-align: center; background-color:#0068fb; line-height: 1.2; padding:5px; margin:10px 0; }
body#index #main a.tel span{display:block; font-weight: bold; font-size:20px;}
}

p.red{font-weight:bold; font-size: 24px; margin-top: 10px;}
p.red span{color:#444 !important; font-weight:normal !important;}

@media (max-width: 500px) {
body#index .courseArea tr > td:last-child p{margin:0; }
p.red{font-weight:bold; font-size: 16px; margin: 10px 0;}	
}

/*
PAGE
*/
/*common*/
.pankuzu{font-size:12px; padding: 10px 0 0 0;}

/*kaichou*/
.greeting > img{margin-left:20px;}
.greeting p{font-size:16px;}
.greeting p:last-child{font-size:18px; font-weight: bold;}

.courseArea{border:0; width:100%; margin-top: 30px;}
.courseArea td{padding:0 10px; border:0; width:33.3%; vertical-align: top;}
.courseArea p{line-height: 200%; font-size:90%;} 
.courseArea td a{display:block; max-width:430px; margin: 0 auto; text-decoration: none; color:#000;}
.courseArea td a img{width:100%; height: auto; display:block;}
.courseArea #top_content01 img{border:1px solid #dee1e6;}
.courseArea #top_content02 img{border:1px solid #dee1e6;}
.courseArea #top_content03 img{border:1px solid #dee1e6;}
.courseArea td a p,{font-size:14px; }
.courseArea h4{color:#fff; margin:0 0 10px 0; padding:0 60px 10px 15px; font-size:18px; display: block; position:relative;}
.courseArea h4 span{display:block; font-weight: normal; font-size:13px;}

.courseArea tr > td:nth-child(1) h4, .courseArea_other #top_content h4{background-color:#e9f4ff; text-align: center; margin:0px; padding:5px 0; color:#0059aa; border: 1px solid #e9f4ff;line-height: 200%;}  
.courseArea tr > td:nth-child(2) h4, .courseArea_other #top_content h4{background-color:#e9f4ff; text-align: center; margin:0px; padding:5px 0; color:#0059aa; border: 1px solid #e9f4ff;line-height: 200%;}  
.courseArea tr > td:nth-child(3) h4, .courseArea_other #top_content h4{background-color:#e9f4ff; text-align: center; margin:0px; padding:5px 0; color:#0059aa; border: 1px solid #e9f4ff;line-height: 200%;} 

@media (max-width: 500px) {
.courseArea, .courseArea tr, .courseArea td{display:block; width:100%; padding:0;}
.courseArea td + td{margin-top:30px;}
.courseArea td a{max-width:inherit;}
.courseArea td a p{font-size:12px;}
.courseArea h4{padding: 8px 50px 6px 5px; margin-bottom: 10px;}
.courseArea h4 span br{display:none;}
}

/*table_style*/
body.table_style div.table > div{width:50%;}
body.table_style div.table > div:first-child{font-size:12px;}
body.table_style div.table > div:first-child img{width:100%; max-width:575px; height:auto; display:block; margin: 0 auto 10px;}
body.table_style div.table  a{ height:auto; display:block; margin: 0 auto 10px;}
body.table_style div.table > div:last-child{padding-left:40px;}

@media (max-width: 768px) {
body.table_style div.table, body.table_style div.table > div{display:block; width:100%;}
body.table_style div.table > div:first-child{text-align:center; padding:0 0 20px 0;}
body.table_style div.table > div:last-child{padding:0;}
}


/*clinic*/
ul.clinic{width:100%; list-style: none; margin:0; padding:0;}
ul.clinic li{width:32%; float:left; vertical-align:top; text-align: left; margin:10px 0;}
ul.clinic li:nth-child(3n-1){margin:10px 2%;}
ul.clinic li:nth-child(3n-2){clear:both;}
ul.clinic li img{width:100%; height:auto; margin-bottom:10px; display:block;}
ul.clinic li span{display:block; font-weight:bold; text-align:center; font-size:16px; margin-bottom:10px;  line-height:1.3;}
ul.clinic li p{font-size:13px;}
@media (max-width: 500px) {
ul.clinic li{width:42%; margin:10px 4% !important;}
ul.clinic li:nth-child(3n-2){clear:inherit;}
ul.clinic li:nth-child(2n-1){clear:both;}
}
@media (max-width: 400px) {
ul.clinic li{width:auto; margin:10px 0 !important;}
ul.clinic li:nth-child(2n-1){clear:inherit;}
}

ul{margin:0 0 0 20px;}

.arrow{
  position: relative;
  display: inline-block;
  padding-left: 0px;
}

.arrow::before{
  content: '';
  width: 6px;
  height: 6px;
  border: 0px;
  position: absolute;
  top: 50%;
  left: 0;
}