/** 汎用スタイル **/

* {
	margin: 0;
	padding: 0;
}


html {
  height: 100%;
}
body {
  margin: 0;
  padding: 0;
  min-height: 100%;
  display: flex;
  flex-direction: column;
}

main {
    flex: 1;
}

footer {
  width: 100%;
  background: #44aa33;
}


.ls {
  letter-spacing: 0.2rem;
}
.ls-1 {
  letter-spacing: 1.0rem;
}


ol ul.disc {
    list-style: disc;
} 

ul.lower-alpha li  {
    list-style-type: lower-alpha;
}
ul.square li {
    list-style: square;
}

ul.none , ol.none {
    list-style: none;
} 

.f-s2 {
	font-size: 0.8em;
}




/** 既存スタイルの疑似上書き **/
/** olカウンターを丸囲いに **/

ol.num-list {
  counter-reset: my-counter;
  list-style: none;
  padding: 0;
} 
.num-list li {
  margin-bottom: 10px;
  position: relative;
  font-weight: bold;
  font-size: 1.2rem;  
}
.num-list li:before {
content: counter(my-counter);
counter-increment: my-counter;
border: 2px solid #666;
color: #666;
float: left;
text-align: center;
height: 30px;
width: 30px;
border-radius: 50%;
margin-right: 5px;
margin-top: -2px;
font-family: 'Big Shoulders Display', cursive;  
}

/** jumbotronの背景に指定画像 **/
.jumbotron {
  background: url('../img/top-background.jpg') center no-repeat;
  background-size: cover;
  height: 100%;
min-height: 500px;
}

/** パンくずリストのセパレータ変更 **/
li.breadcrumb-item.wf-breadcrumb-separator::before {
  margin-left: 6px;
  font-family: 'Font Awesome 5 Free';
  content: '\f105';
  font-weight: bold;
}

/** customized css **/
/** size-{単位}: 正方サイズ指定 **/
.wf-square-xs {
  width: 20px;
  height: 20px;
}
.wf-square-lg {
  width: 260px;
  height: 260px;
}

/** 傾けられた文字 **/
.wf-slope-text {
  transform: rotate(-4deg) translateY(-20px);
}

/** 正円＋テキスト **/
.wf-circle {
  transform: translateY(-50%);
}
.wf-circle > span {
  position: absolute;
  display: inline-block;
  font-size: 1.3rem;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 180px;
  text-align: center;
}

/** 下側のみが突き出した五角形 **/
.wf-penta {
  clip-path: polygon(0% 0%, 100% 0%, 100% 70%, 50% 100%, 0% 70%);
}

/** 声のテキスト **/
.comment-box {
  position: relative;
  display: inline-block;
  padding: 2rem;
  font-size: 16px;
  background: #f8f9fa;
}

/** 下側のみが突き出した吹き出し **/

.down-balloon:after {
  content: "";
  position: absolute;
  bottom: -50%;
  left: 20%;
  margin-left: -2.5rem;
  border: 5rem solid transparent;
  border-top: 3rem solid #f8f9fa;
  z-index: 999;
}

.down-balloon p {
  margin: 0;
  padding: 0;
}

/** 上側のみが突き出した吹き出し **/

.up-balloon:before {
  content: "";
  position: absolute;
  top: -130px;
  left: 20%;
  margin-left: -2.5rem;
  border: 5rem solid transparent;
  border-bottom: 3rem solid #f8f9fa;
  z-index: 999;
}

.up-balloon p {
  margin: 0;
  padding: 0;
}

/** 吹き出し **/
.wf-balloon {
  position: relative;
  padding: 20px;
  border: 2px solid rgba(75, 75, 75, 0.85);
  border-radius: 12px;
}

.wf-balloon-left::before,
.wf-balloon-left::after,
.wf-balloon-right::before,
.wf-balloon-right::after {
  content: '';
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  top: 50px;
  border-top: 15px solid transparent;
  border-bottom: 15px solid transparent;
}

.wf-balloon-left::before {
  left: -15px;
  border-right: 15px solid rgba(75, 75, 75, 0.85);
}
.wf-balloon-left::after {
  left: -12px;
  border-right: 15px solid white;
}

.wf-balloon-right::before {
  right: -15px;
  border-left: 15px solid rgba(75, 75, 75, 0.85);
}
.wf-balloon-right::after {
  right: -12px;
  border-left: 15px solid white;
}

/** トップへ戻るボタン **/
.wf-gotta-top {
  width: 100px;
  height: 74px;
  right: 0;
  bottom: 0;
  background: #4f4f4f;
  opacity: 0.6;
}

/** ステップフロー **/

.step-bar {
  display: flex;
  position: relative;
  margin: 20px auto;
  text-align: center;
  padding: 0;
}
.step-bar li {
  font-size: 12px;
  list-style: none;
  position: relative;
  width: 33.333%;
}
.step-bar li:after {
  background: #D0E1F9;
  content: "";
  width: calc(100% - 50px);
  height: 5px;
  position: absolute;
  left: calc(-50% + 32px);
  top: 50px;
}
.step-bar li:first-child:after {
  display: none;
}
.step-bar li span {
  background: #D0E1F9;
  color: #ffffff;
  display: inline-block;
  margin-bottom: 5px;
  padding: 20px;
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  z-index: 999;
}
.step-bar .visited:after {
  background: #4D648D;
}
.step-bar .visited span {
  background: #4D648D;
}

/** 追加 **/

a.none {
	text-decoration: none;
}

ul.none li , ol.none li {
	list-style-type: none !important;
}

.text-right {
  text-align: right;
}
.text-white {
  color: var(--bs-white);
}
.text-gray{
  color: var(--bs-gray-700);
}
.text-red{
  color: var(--bs-danger);
}
.text-dark-blue {
  color: #191970;
}
.text-steelblue {
  color: #4682b4;
}

.bg-blue-light {
	background-color: #E4EEF5;
}


.fs-small {
  font-size : .8em;
}
.fl-3 {
  font-size : 1.3em;
}


.inline {
	display: inline-block;
    vertical-align: top;
}

ul.inline , ol.inline , ul.inline-ma-r1 , ul.inline-ma-r2 , ul li ol.inline-ma-r3 {
    letter-spacing: -.4em;
}
ul.inline li , ol.inline li , ul.inline-ma-r1 li , ul.inline-ma-r2 li , ul li ol.inline-ma-r3 li {
	display: inline-block;
    vertical-align: top;
    letter-spacing: 0;
    padding: 3px 0;
    list-style: none;
}
ul.inline-ma-r1 li {
    margin-right: 10px;
}
ul.inline-ma-r2 li {
    margin-right: 20px;
}
ul li ol.inline-ma-r3 li {/** 学内専用 各種一覧 **/
    margin-right: 30px;
}

.border-dashed {
	border-bottom: 1px dashed #ccc;
}


/** 学内専用　帳簿 **/
dl.inline {
    letter-spacing: -.4em;
}
dl.inline dt , dl.inline dd {
	display: inline-block;
    padding: 3px 0;
    vertical-align: top;
    letter-spacing: 0;
}
dl.inline dd {
	margin-left: 10px;
}


/** 挨拶 略歴 **/
dl.inline-1 {
    letter-spacing: -.4em;
}
dl.inline-1 dt , dl.inline-1 dd {
	display: inline-block;
    vertical-align: top;
    letter-spacing: 0;
}
dl.inline-1 dt {
	width: 90px;
}
dl.inline-1 dd {
	width: calc(100% - 95px);
}

/** 沿革 **/
dl.inline-2 {
    letter-spacing: -.4em;
    border-bottom: 1px dashed #9295A0;
}
dl.inline-2 dt , dl.inline-2 dd {
	display: inline-block;
    vertical-align: top;
    letter-spacing: 0;
}
dl.inline-2 dt {
	width: 60px;
}
dl.inline-2 dd {
	width: calc(100% - 70px);
}

/** 見出し円 **/

.circle_wid {
  -ms-flex: 0 0 24%;
  flex: 0 0 24%;
  max-width: 24%;
  margin: auto;
}
.circle_wid a {
  color: #fff;
}

.circle_wid .circle {
  position: relative;
  margin: auto;
  width: 110px;
  height: 110px;
  text-align:center;
  border-radius: 50%;
}
.circle_wid .circle p{
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-45%);
  font-size: 1.0em;
}
.circle_wid .circle p span{
  font-size: .8em;
}

@media (min-width: 960px) {
  .circle_wid {
    -ms-flex: 0 0 14%;
    flex: 0 0 14%;
  }
}
@media (min-width: 1200px) {
  .circle_wid {
    -ms-flex: 0 0 14%;
    flex: 0 0 11%;
    max-width: 14%;
  }
}

.co-1{
  border: solid 3px #fc4503;
}
.co-2{
  border: solid 3px #fc8003;
}
.co-3{
  border: solid 3px #fae92d;
}
.co-4{
  border: solid 3px #8ad402;
}
.co-5{
  border: solid 3px #02b37b;
}
.co-6{
  border: solid 3px #02d5fa;
}
.co-7{
  border: solid 3px #2d6efa;
}
.co-8{
  border: solid 3px #b43ffc;
}
.co-9{
  border: solid 3px #f77eeb;
}
.co-10{
  border: solid 3px rgb(91, 156, 189, 1.0);
  background-color: rgb(91, 156, 189, 0.8);
}


/** top その他 **/
ul.top-card-title{
    margin: 0;
    padding: 0;
    letter-spacing: -.4em;
}

.height120-m{
  height: 120px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

ul.top-card-title li{
	display: inline-block;
    letter-spacing: 0;
    list-style-type: none;
    color: #333;
    font-size: 1.3em;
    font-weight: bold;
}


.history {
  position: relative;
}
.history::before {
  background-color: #1E52A6;
  content: "";
  height: 100%;
  width: 1px;
  position: absolute;
  left: 155px;
}
.history > div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
}
.history > div:last-child > dd {
  border-bottom: 0;
  margin-bottom: 0;
}
.history > div > dt {
  font-weight: 400;
  line-height: 1.6;
  margin-right: 90px;
  text-align: right;
  width: 115px;
}
.history > div > dt > em {
  color: #1E52A6;
  display: block;
  font-size: 2.0rem;
  font-weight: 500;
}
.history > div > dt > em > b {
  font-size: 0.5em;
}
.history > div > dd {
  border-bottom: 1px dotted #C8C8C9;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  line-height: 1.2;
  margin-bottom: 10px;
  padding-bottom: 30px;
  padding-top: 30px;
  position: relative;
}
.history > div > dd::before {
  background-color: #1E52A6;
  border-radius: 50%;
  content: "";
  height: 18px;
  width: 18px;
  position: absolute;
  left: -40px;
  top: -webkit-calc(30px + 0.4em);
  top: calc(30px + 0.4em);
  -webkit-transform: translateX(-100%);
      -ms-transform: translateX(-100%);
          transform: translateX(-100%);
}
.history .history_box {
  margin-right: 30px;
}
.history .history_box p {
  margin-top: 0;
}
.history .history_box p.history_title {
  font-size: 1.4rem;
  font-weight: 500;
  margin-top: 30px;
}
.history .history_box p.history_title:first-child {
  margin-top: 0;
}
.history .history_img {
  max-width: 326px;
}
.history .history_img figure {
  margin-top: 20px;
}
.history .history_img figure:first-child {
  margin-top: 0;
}
@media (max-width: 767px) {
  .history {
    padding-left: 25px;
  }
  .history::before {
    left: 4px;
  }
  .history > div {
    display: block;
    position: relative;
  }
  .history > div > dt {
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-right: 0;
    text-align: left;
    width: auto;
  }
  .history > div > dt > em {
    font-size: 2.8rem;
    margin-right: 10px;
  }
  .history > div > dd {
    display: block;
    line-height: 1.6;
    margin: 20px;
    padding: 0 0 20px;
    position: static;
  }
  .history > div > dd::before {
    height: 16px;
    width: 16px;
    left: -20px;
    top: 16px;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  .history .history_box {
    margin-right: 0;
  }
  .history .history_box p {
    margin-top: 0;
  }
  .history .history_box p.history_title {
    font-size: 1.8rem;
    margin-top: 20px;
  }
  .history .history_img {
    max-width: 100%;
    margin-top: 20px;
  }
}


.tab_area{
	overflow:hidden;
	display:table;
	width: 100%;
	margin:auto;
	padding: 5px 15px;
	text-align: center;
	letter-spacing: -.4em;
 }
 
.tab_area li{
	display: inline-block;
	margin: 1px 1px 0 0;
	background: #1E52A6;
	border-radius: 6px 6px 0 0;
    letter-spacing: 0;
	width: 32%;
 }
.tab_area li a:link{
	display: block;
	padding: 5px 0;
	border-top: 5px solid #1E52A6;
	border-radius: 6px 6px 0 0;
	color: #fff;
 }
.tab_area li a:active{
	padding: 5px 0;
	border-top: 5px solid #1E52A6;
	background: #fff;
	border-radius: 6px 6px 0 0;
 }
.tab_area li a:hover {
      cursor: pointer;
	padding: 5px 0;
	border-top: 5px solid #1E52A6;
	background: #fff;
	color: #1E52A6;
	font-weight: 600;
	border-radius: 6px 6px 0 0;
   }
.tab_area li a.current{
	padding: 5px 0;
	border-top: 5px solid #1E52A6;
	background: #eee;
	border-radius: 6px 6px 0 0;
	color: #1E52A6;
	font-weight: 600;
 }
 
.all_area { 
 background: #fff; 
 padding: 10px; 
 overflow: hidden;
 }
 
.all_area div.content_area{
 width: 100%; 
 background: #fff; 
 padding: 10px 10px 30px 10px;  
 border-top: 3px solid #009;
 }
 

.hide{display:none;}


/*- table -*/

table {
  border-top: 1px solid #999;
  border-right: 1px solid #999;
  border-collapse: separate;
  border-spacing: 0;
  width: 100%;
}
table th {
	border-left: 1px solid #999;
	border-bottom: 1px solid #999;
	padding: 7px 3px;
	font-weight: normal;
}
	table.enkaku th{
	background-color: #8EC9FD;
	text-align: center;
	width: auto;
	}
table td {
	border-left: 1px solid #999;
	border-bottom: 1px solid #999;
	padding: 7px 3px;
	width: auto;
}

  .table1 thead th {
	text-align: center;
  }

  .table1 tbody th {
	text-align: center;
	background-color: #F7FAFD;
  }


@media screen and (max-width: 600px) {
  .table1 thead {
    display: none;
  }

  .table1 tr {
    display: block;
  }
  .table1 tbody th {
    display: block;
    padding: 10px;
  }
  .table1 tbody td {
    display: block;
    padding: 10px;
  }
}



/*- 挨拶 -*/
ol.ma li,
ul.ma li,
dl.ma dt, dl.ma dd {
  margin: .5rem 0;
}

/*- 臨床研究に関するお知らせ -*/
ol.ma1 li,
ul.ma1 li,
dl.ma1 dt, dl.ma1 dd {
  margin: 1rem 0;
}

/*-URLリンクなし -*/
.no-spam {
	display: none;
}

.btn-s {
  display: inline-block;
  margin: 0.1rem 0.2rem;
  padding: 0.1rem 0.2rem;
  font-weight: 400;
  color: #212529;
  text-align: center;
  vertical-align: middle;
  background-color: #ccc;
  font-size: .9rem;
  line-height: 1.2;
  border-radius: 0.3rem;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.page-top {
  color: #212529;
}

/*---画像 ---*/

img {
  max-width: 100%;
  height: auto;
  border: 0;
}
a img {	
    -webkit-transition: 0.3s ease-in-out;
       -moz-transition: 0.3s ease-in-out;
         -o-transition: 0.3s ease-in-out;
            transition: 0.3s ease-in-out;
}
a img:hover {	
	opacity: 0.5;
	filter: alpha(opacity=50);
	-moz-opacity: 0.5;
}

figcaption {
  display: block;
  color: #6c757d;
  font-size: 80%;
}

.radius {	
	border-radius: 10px;
}


/*--- link ---*/
  a.yamaru{
	margin-left: 5px;
  }
  a.yamaru:before{
	content: "\f138";
	font-family:"FontAwesome";
	margin: 0 5px;
	color: #36c;
	font-size:.9em;
  }

/*-------------*/

ul.flex-2 , ul.flex-2a , ul.flex-3 , ul.flex-4 {
    list-style: none;
    margin: auto;
	display: flex;
	justify-content: space-between;
  	flex-wrap: wrap;
	align-items: stretch;
}
ul.flex-2 li{
	width: 49%;
}
ul.flex-3 li {
	width: 49%;
}
ul.flex-4 li {
	width: 49%;
}
ul.flex-2a li.photo{
	width: 100%;
}
ul.flex-2a li.text{
	width: 100%;
}


@media print, screen and  (min-width: 960px) {

ul.flex-3 li {
	width: 32%;
	padding: 0 .5%;
}
ul.flex-4 li {
	width: 24%;
	padding: 0 .5%;
}

ul.flex-2a li.photo{
	width: 30%;
}
ul.flex-2a li.text{
	width: 70%;
}

}


/*- DIニュース -*/
.di-news {
    background-image: radial-gradient(#ececec 30%, transparent 50%);
    background: #fff;
} 
.di-news-in {
	height: 400px;
    border-bottom: 5px solid #ececec;
	overflow: auto;
	overflow-y: scroll;
} 
.di-news-in::-webkit-scrollbar {
    width: 8px;
    background: #ececec;
}
.di-news-in::-webkit-scrollbar-thumb {
    border-radius: 8px;
    background: #5AB9C1;
}

.wid8 {
    width: 8%;
}
.wid10 {
    width: 10%;
}
.wid12 {
    width: 14%;
}

.nav-item-1 , .nav-item-2 , .nav-item-3 {
    width: 100%;
}

@media (min-width: 1200px) {
.nav-item-1 {
    width: 100px;
}
.nav-item-2 {
    width: 120px;
}
.nav-item-3 {
    width: 150px;
}
.nav-item-4 {
    width: 170px;
}
}

/*- レクレーション -*/
.line-height-1{
  line-height: 3.0;
}


/*- 講座 -*/
.wid90 {
    width: 90px;
}


/*- top youtube -*/
.youtube iframe {
	width: 100%;
	max-width: 560px;
	height: 100%;
	min-height: 315px;
}





/*- ○数字の表記
①	&#9312;	⑪	&#9322;
②	&#9313;	⑫	&#9323;
③	&#9314;	⑬	&#9324;
④	&#9315;	⑭	&#9325;
⑤	&#9316;	⑮	&#9326;
⑥	&#9317;	⑯	&#9327;
⑦	&#9318;	⑰	&#9328;
⑧	&#9319;	⑱	&#9329;
⑨	&#9320;	⑲	&#9330;
⑩	&#9321;	⑳	&#9331;
 -*/


