@charset "UTF-8";

/*================================================
 *  CSSリセット
 ================================================*/
html,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,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent;font-weight:normal;}body{line-height:1}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:none}a{margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent}del{text-decoration:line-through}abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help}table{border-collapse:collapse;border-spacing:0}hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}input,select{vertical-align:middle}

/*================================================
 *  一般・共通設定
 ================================================*/
html {
-webkit-text-size-adjust: 100%;
scroll-behavior: smooth; /* ← あれば視覚的にも自然 */
}

[id] {
  scroll-margin-top: 200px; /* 固定ヘッダーの高さに応じて */
}

body {
	font-size:14px;
	height: 100%;
	color:#333;
	font-family:"メイリオ",Meiryo,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Osaka,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
	line-height:1.6;
	background:#fcfcfc;
	  overflow-x: hidden;
  overflow-y: auto;
  min-height: 100vh;
}

address {
	font-style: normal;
	margin-bottom: 0em;
	}

.inner {
	position:relative;
      max-width: 2000px;
}



#covid2 {
	padding:20px;
	width:95%;
	overflow: visible;	
	margin: auto;
	margin-top: 0px;
	margin-bottom: 10px;
	background: rgba(255, 235, 163, 0.1);
	border:3px dotted rgba(219, 185, 122, 0.6);
	border-radius: 10px;
	clear: both;
}

#contents {
	overflow:hidden;
	width:100vw;
	max-width: 2000px;
	margin-left:0px;
	background:#fff;
	padding-top: clamp(5vh, 14vw, 180px);

}


#main {
	box-sizing:border-box;
	overflow:hidden;
	float:left;
	width:95%;
	padding-top: 25px;
	margin-left: 1vw;
}

#sub {
	box-sizing:border-box;
	overflow:hidden;
	float:right;
	width:28%;
}

#sub .top {
	box-sizing:border-box;
	overflow:hidden;
	float:right;
	width:38%;
}


footer {
	box-sizing:border-box;
	width:100%;
	margin:0 auto;
}



a {
	color: #00a;
}

a:hover {
	color: #519640;
}

h1 {
	margin-bottom:0;
	padding:10px 0;
	font-size:250%;
	line-height: 1em;
	color:#333;
	filter: drop-shadow(1px 1px 2px rgba(150,150,150,0.6));
}

h2 {
	margin-bottom:1em;
	padding:10px 0;
	font-size:130%;
	font-weight: bold;
	color:#333;
	border-top:3px solid #342d66;
	border-bottom:1px dotted #4d4398;
}

h2.new_info {
	border-top:1px dotted #4d4398;
	width: 94vw;
	max-width: 1850px;
	margin-left: 2%;
	padding-left:2%;
}

h3 {
	clear: left;
	margin-bottom:0.5em;
	padding:2px 5px;
	font-size: 120%;
	color: #333;
	background: #fff;
	border-bottom:1px dotted #342d66;
	border-right: 0px;
	border-radius: 0px;
	text-indent:-1em;
	padding-left:1em;
}

h3:before {
	content: '▶';
	color: #6de051;
	filter: drop-shadow(1px 1px 1px rgba(0,0,0,0.6));
	padding-right: 10px;
}

h3.res {
	margin-top:50px;
}

h4 {
	margin-bottom:0.25em;
	margin-left: 10px;
	font-size:110%;
	color:#333;
}

h4:before {
	content: '▶';
	color: #6de051;
	text-shadow: .5px .5px 0px #fff;
	padding-right: 10px;
}


h5 {
	position:relative;
	margin-bottom:0.25em;
	padding-left:10px;
	color:#342d66;
	font-size:14px;
	font-weight:bold;
}

h5.res2 {
	font-size:110%;
	font-weight: normal;
}

h5.res2:before {
	content:"\0025a0";
	color:#000;
}

h6 {
	margin-bottom:0.25em;
	color:#382400;
	font-size:14px;
	font-weight:bold;
}

p {
	margin:0 0 1em 0;
}

p.intro {
	margin:0 0;
	font-size: 110%;
	line-height: 1.8em;
}

	p.intro:before {
	content:"\0025a0";
	color:#6de051;
	text-shadow: rgba(240, 249, 114, 0.8) 0.2em 0.25em 0px;
	transform: rotate(45deg);
}

p.attention {
	font-size: 95%;
	color: #444;
	margin-bottom: 1em;
	padding-left:1em;
    text-indent:-1em;
}

p.attention2 {
	font-size: 110%;
	margin-top: 2em;
}

p.attention:before {
	content:"\00002A";
	margin-right: 0.5em;
}


img {
	vertical-align:bottom;
	max-width: 100%;
	height: auto;
}

img.cent {
	margin-left: auto;
	margin-right: auto;
	display: block;
}

p.covid {
	margin-right: 20px;
}

  p.covid img {
	margin-top: 20px;
	margin-left: 20px;
	max-width: 7.5%;
}


em {
	font-weight:bold;
}

span.italic {
	font-style: italic;
}

span.bold {
	font-weight:bold;
}

span.underline {
	text-decoration:underline;
}

span.shitatsuki {
	vertical-align: sub;
}

span.small {
	font-size:70%;
	}

span.small_85 {
	font-size:85%;
	}	
	
span.large {
	font-size:110%;
	}	

    .sup {
        vertical-align: super;
        font-size: smaller;
    }	
	
strong {
	font-weight:bold;
	color:#ff0000;
}

strong.author {
	font-weight:bold;
	text-decoration: underline;
	color: #333;
}

strong.paper {
	font-weight:bold;
	color: #333;
}

pre {
	margin:1em 0;
	padding:1em;
}

br.break {
		display: inline;
	}

blockquote {
	margin-bottom:1em;
	padding:1em;
	border:1px dotted #ddd;
	border-left:5px solid #ddd;
}

ul,ol,dl {
	margin:0 0 1em 0;
}
ul li {
	list-style:none;
}
ol li {
	list-style:decimal;
}
li {
	margin-left:2em;
}

dt {
	margin-bottom:0.5em;
	border-bottom:1px dotted #ddd;
}
dt:before {
	content:"\0025a0";
	color:#6de051;
	text-shadow: rgba(240, 249, 114, 0.8) 0.2em 0.25em 0px;

}

dd {
	margin-bottom:1em;
}

table {
	width:100%;
	margin-bottom:1em;
	border-collapse:collapse;
	border:1px solid #ddd;
	background:#fff;
}


th {
	padding:10px;
	text-align:center;
	vertical-align:middle;
	border:1px solid #ddd;
	background:#eee;
}
td {
	padding:10px;
	text-align:left;
	border:1px solid #ddd;
}


table.infect {
	width:70%;
	margin-left: 2.5em;
	margin-bottom:1em;
	border-collapse:collapse;
	border:0px dashed #ddd;
	background:#fff;
}

table.infect th, table.infect td {
			width: 80%;
			border: 0px;
			padding: 0.1em;
}

td.infect {
	width: 20%;
}

table.curr {
	border:0px;
}

table.curr th {
	font-size: 100%;
	padding: 0.2em;
	border-collapse:collapse;
	border:0px dashed #ddd;
	border-top:2px solid rgba(255,140,0, 0.9);
  	background-color: rgba(255,140,0, 0.4);
}

table.curr td {
	border-collapse:collapse;
	border:0px dashed #ddd;
}

table.curr tr{
	border-collapse:collapse;
	border-bottom:2px solid rgba(255,140,0, 0.9);
 	background-color: rgba(255,140,0, 0.01);
}

table.curr tr:nth-child(odd){
 	background-color: rgba(255,140,0, 0.05);
}


/*================================================
 *  ヘッダー
 ================================================*/


.header-wrapper {
  display: flex;
  align-items: flex-end; /* ここで下端揃え */
  padding: 0 0px;
  height: 14vw; /* 必要に応じて */
  min-height: 5vh;
  max-height: 180px;
  width: 100vw;
  max-width: 2000px;
  position: fixed;
  top: 0;
  z-index: 999;
  background: rgba(255,255,255, 0.9);
  border-bottom: solid 3px rgba(77,67,152, 0.2);


}

header {
	box-sizing:border-box;
	display: block;
	/*position:relative;*/
    width: 40vw;
    max-width: 550px;
	padding:5px 5px;
}

header .inner {
	float: left;
	margin-left: 10px;
}

header a {
	color:#333;
	text-decoration:none;
}
header a:hover {
	color:#333;
	text-decoration:none;
}


header h1 {
	font-size: min(3.2vw, 40px);
}

header p {
	font-size: 100%;
	margin-top: -1em;
	margin-bottom: 1.5em;
}

header p.title {
	margin-top: 0px;
	font-size: min(0.8vw, 1vh);
	color:#555;
	text-shadow: #eee 1px 1px 1px, #ccc -0.5px -0.5px 1px;
	font-weight: bold;
	line-height: 1.5em;
}


.hero {
  position: relative;
  width: 100vw;
  max-width: 1800px;
  height: 600px;
  overflow: hidden;
}

.hero-bg {
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background-size: cover;
  background-position: center;
  opacity: 0;
  transition: opacity 1.5s ease-in-out;
  z-index: 0;
}

.hero-bg.visible {
  opacity: 1;
  z-index: 1;
}

.hero-filter {
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background: linear-gradient(to bottom, rgba(77, 67, 152, 1), rgba(77, 67, 152, 0));
  clip-path: polygon(0% 0%, 100% 0%, 100% 20%, 35% 40%, 25% 100%, 0% 100%);
  z-index: 2;
}


    .hero-text {
      position: relative;
      z-index: 3;
      color: white;
      padding: 1rem;
      max-width: 800px;
    }
   .hero-text h1 {
      font-size: min(3.2vw, 48px);
      /*font-weight: bolder;*/
      margin-bottom: 0rem;
      color: #fff;
    }
    .hero-text h2 {
      font-size: min(3vw, 45px);
      margin-bottom: 0rem;
      color: #fff;
      border: none;
    }
        .hero-text p {
      font-size: min(1.5vw, 16px);
      margin-bottom: 0rem;
      color: #fff;
      border: none;
    }





/*
.summary {
	position:absolute;
	top:0;
	right:10px;
	margin:0;
}
*/
/*================================================
 *  グローバルナビゲーション
 ================================================*/
nav {
	width: 50vw;
	max-width:1250px;
	zoom:1;
	z-index:13;
	  position: static !important; /* JSによる .fixed の影響を無効化 */
  display: block !important;
  opacity: 1 !important;
}

nav:after {
	content:'';
	display:block;
	clear:both;
}


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

	nav {
		margin-bottom:1vh;
	}
	
	nav .inner {
		max-width: 1600px;

	}



	/* 共通 */
	nav ul {
		margin:0;
		padding:0;
		width: 100%;
		
	}

	nav ul li {
		position:relative;
		width: 6vw;
		max-width: 180px;
		min-width: 80px;
		margin:0;
		padding:0;
		list-style:none;
		display: block;
	}

	nav ul li a {
		display:block;
		padding:16px 0;
		/*background:#4d4398;*/
		color:#000;
		text-shadow: .5px .5px 0px #aaa, .5px -0.5px 0px #aaa, -0.5px 0.5px 0px #aaa, -0.5px -0.5px 0px #aaa;
		line-height:1;
		text-decoration:none;
	}

	nav ul li:hover > a {
		color:#000;
		text-decoration: underline;
	}

	/* 1段目 */
	nav ul.gnav > li {
		position:relative;
		font-size:clamp(0.7rem, 1.8vw, 1.4rem);
		font-weight: light;
		float:left;
		width: 8vw;
		max-width: 180px;
		min-width: 55px;
		margin:0;
		padding:0;
		text-align:center;
		list-style:none;
	}

	nav ul.gnav > li:first-child {
	}

	nav ul.gnav > li.subnav a {
		padding-right:0px;
	}

	nav ul.gnav > li.subnav > a:after {
		position:absolute;
		content:"";
		top:0px;
		width:0;
		height:0;
		margin-left:10px;
		border:7px solid transparent;
		border-top-color:#4d4398;
	}

	/* 2段目 */
	nav ul li ul {
		display: flex;
		flex-direction: column;
		position:absolute;
		z-index:999;
		top:100%;
		left:0;
		width:100%;
		margin:0;
		padding:0;
	}

	nav ul li ul li {
		overflow:hidden;
		width: 8vw;
		max-width: 250px;
		min-width: 55px;
		height:0;
		color:#fff;
		transition:.5s;
		font-size:clamp(0.7rem, 2vw, 1rem);

	}

	nav ul li ul li a {
		padding:13px 15px;
		text-align:left;
		font-weight:normal;
	}

	nav ul li:hover > ul > li {
		overflow:visible;
		font-size: 90%;
		width: 20vw;
		max-width: 600px;
		min-width: 55px;
		height:2rem;
		max-height: 120px;
		border-top:1.25px dotted #fff;
		border-bottom:1.25px dotted #fff;
 		background: rgba(255,255,255, 0.9);

	}

	nav ul li:hover ul li:last-child {
		border-bottom:none;
	}

	nav ul.gnav > li:last-child > ul {
		left:-50%;
	}

	nav ul li ul li ul:before {
		position:absolute;
		content:"";
		top:13px;
		left:-20px;
		width:0;
		height:0;
		border:5px solid transparent;
		border-left-color:#fff;
	}

	nav ul.gnav > li:last-child ul li ul:before {
		position:absolute;
		content:"";
		top:13px;
		left:200%;
		margin-left:-20px;
		border:5px solid transparent;
		border-right-color:#fff;
	}

	/* 3段目 */
	nav ul li ul li ul {
		top:0;
		left:100%;
	}

	nav ul li ul li ul li {
		width:100%;
	}

	nav ul li ul li:hover > ul > li {
		border-bottom:1px solid #fff;
	}

	nav ul.gnav > li:last-child > ul li ul {
		left:-100%;
	}

	nav ul li ul li ul li a {
		background:#342d66;
	}

	nav ul li ul li ul li a:hover {
		background:#342d66;
	}

	.gnav {
		display:block !important;
	}
	
		
	.gnav li.title{
		display: none;
	}

	#spMenu {
		display:none;
	}

	.fixed {
		position:fixed;
		top:0;
		left:0;
	}
}

/*================================================
 *  トピックパス（パンくずリスト）
 ================================================*/
#topicpath {
	font-size:12px;
	margin-bottom:20px;
	padding:2px;
	background:#f1f1f1;
}

/*================================================
 *  サブコンテンツ
 ================================================*/
.submenu li {
	margin:0;
	padding:10px;
	border-bottom:1px dotted #ddd;
	list-style:none;
}
.submenu li a:before {
	content:"\0025a0";
	color:#000;
}
.submenu li a {
	display:block;
	padding:0 2px;
	text-indent: -1em;
	padding-left:1em;
	color:#000;
	text-decoration:none;
}
.submenu li a:hover {
	background:#eee;
}

.submenu2 {
	margin-left: 20px;
}

#introduct {
background: rgba(184,183,255, 0.1);
/*	background: rgba(247, 183, 255, 0.1);*/
/*	background: rgba(255, 183, 217, 0.1);*/
width: 980px;
margin-left: auto;
margin-right: auto;
margin-top: 5px;
padding:25px;
padding-top: 20px;
padding-bottom: 20px;
}

.member {
	box-sizing:border-box;
	overflow:hidden;
	float:left;
	width:100%;
	margin-bottom: 50px;
}

.member dt {
padding-top: 20px;
}

.member dt.prof {
width: 80%;
font-size: 110%;
margin-left: 10px;
}

.member dd {
	text-align: center;
	clear: left;
}

.member p {
margin-left: 30px;
margin-top: 1.5em;
margin-bottom: 1.5em;
}

.member .hist li {
margin-bottom: 10px;
}

.memo h2, .memo h3 {
	margin-top: 50px;
	}

ul.script {
margin-left:30px;
padding-right: 20px;
width: 90%;
background: #555;
border: 1px solid #aaa;
}

.lab dt {
	clear: left;
	padding-top: 60px;
}

.lab dt.professor {
	clear: left;
	padding-top: 10px;
}

.lab dd {
	margin-left: 3em;
	text-align: left;
}

.dep {
clear: both;
width: 100%;
}

.dep_microbiol, .dep_infect {
	float: left;
	width: 45%;
	margin-left: 10px;
	margin-right: 10px;
	margin-top: 50px;
}

.posit {
	float: left;
	width: 40%;
	margin-left: 25px;
	margin-right: 25px;
	margin-top: 10px;
	margin-bottom: 50px;

}

.posit dt {
	font-size: 110%;
}

h3.microbiol, h3.infect {
	color:#333;
	background:#fff;
}

h3.guestt {
	margin-top: 200px;
}

	h3.smapho {
	height: 0px;
	overflow: hidden;
	border-bottom: none;

}

.card-container {
  display: flex;
  flex-wrap: wrap; /* 折り返し可能にする */
  max-width: 1800px;
  gap: 2em;
  padding: 2em;
  margin: 0 auto;
}

.card {
  position: relative;
  width: 380px;
  height: auto;
  background: rgba(240, 240, 240, 0.3);
  border: 0px solid #08465e;
  border-radius: 10px;
  padding: 1.5em;
  box-sizing: border-box;
  flex-shrink: 0;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1); /* ← 影 */
  transition: transform 0.3s ease, box-shadow 0.3s ease; /* ← アニメーション */
}

.other {
  width: 380px;
height: 150px;
}

.other2 {
  width: 380px;
}

.card-link {
  text-decoration: none;
  color: inherit;
  display: inline-block; /* ← ブロック要素を内包させるため */
}

.card-link:hover {
  color: inherit;
}


.card-title-line {
  display: flex;
  align-items: center;
  gap: 0.8em;
  margin-bottom: 0.4em; /* ← ここを縮める */
  padding-left: 0.3em;   /* 飾りとのバランスを調整 */
}


.lecture {
  font-weight: bold;
  font-size: 1em;
  color: #0e5871;
  margin: 0;
}

/* 青系 */
.theme-indigo .card-decoration {
  border-top: 10px solid #3f51b5;
  border-left: 10px solid #c5c8e8;
}
.theme-indigo .lecture {
  color: #3f51b5;
}

/* 赤系 */
.theme-rose .card-decoration {
  border-top: 10px solid #d81b60;
  border-left: 10px solid #f8cbd6;
}
.theme-rose .lecture {
  color: #d81b60;
}

.theme-red .card-decoration {
  border-top: 10px solid #eaa4a4;
  border-left: 10px solid #ffd1d1;
}
.theme-red .lecture {
  color: #eaa4a4;
}

/* 紫系 */
.theme-purple .card-decoration {
  border-top: 10px solid #6A0DAD;
  border-left: 10px solid #B57EDC;
}
.theme-purple .lecture {
  color: #6A0DAD;
}

/* 緑系 */
.theme-green .card-decoration {
  border-top: 10px solid #99cbbf;
  border-left: 10px solid #c8eae1;
}
.theme-green .lecture {
  color: #99cbbf;
}

/* 黄系 */
.theme-gold .card-decoration {
  border-top: 10px solid #f0d591;
  border-left: 10px solid #ffecb3;
}
.theme-gold .lecture {
  color: #f0d591;
}

.theme-orange .card-decoration {
  border-top: 10px solid #e0c7a5;
  border-left: 10px solid #ffecd2;
}
.theme-orange .lecture {
  color: #e0c7a5;
}

/* ホバー時の浮き上がり効果 */
.card:hover {
  transform: translateY(-1px) scale(1.02); /* 少し持ち上がる＋拡大 */
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2); /* 影を強調 */
}

/* 飾りL字 */
.card-decoration {
  position: absolute;
  top: 1em;
  left: 1em;
  width: 35px;
  height: 35px;
  background: transparent;
  border-top: 10px solid #0e5871;
  border-left: 10px solid #0e5871;
  box-sizing: border-box;
}

/* 内容 */
.card-content {
  display: flex;
  align-items: center;   /* ← ここで縦方向中央揃え */
  gap: 1em;
  margin-bottom: 1em;
  height: auto;
}



.card-photo {
  width: 125px;
  height: 125px;
  background: #fff;
  color: white;
  font-size: 1.2em;
  border-radius: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.card-photo_other {
  width: 20px;
  height: 20px;
  font-size: 1.2em;
  border-radius: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}


.card-text {
  display: flex;
  flex-direction: column;
  justify-content: center; /* ← 中身（役職＋名前）を縦中央 */
    flex: 1;
}


.card-text p {
  margin: 0.4em 0;
  font-size: 1em;
}


.card-details {
  font-size: 0.85em;
  line-height: 1.6;
  color: #333;
  padding-top: 0.5em;
  border-top: 1px dashed #ccc;
}

.detail-row {
  display: flex;
  align-items: flex-start;
  margin: 0.4em 0;
}

.label {
  width: 6em; /* ← ラベル幅を固定 */
  flex-shrink: 0;
}

.value {
  flex: 1;
}


.pict, pict_prof {
text-align: center;
}

.pict_prof img{
	max-width: 300px;
	margin-top: 20px;
	margin-bottom: 20px;
}

.pict img{
	max-width: 300px;
	margin-top: 20px;
	margin-bottom: 20px;
}

.pict_lab {
	font-size: 110%;
}

.pict_lab img{
max-width: 300px;
margin-top: 30px;
}

.recruit4 {
	margin-top: 0px;
	margin-bottom: 20px;
	background: rgba(255, 235, 163, 0.1);
	border:3px dotted rgba(219, 185, 122, 0.6);
	border-radius: 10px;
	}

.recruit {
	margin-top: 20px;
	margin-bottom: 20px;
	background: rgba(255, 235, 163, 0.1);
	border:3px dotted rgba(219, 185, 122, 0.6);
	border-radius: 10px;
	}

.recruit_student {
	width: 80%;
	margin-top: 0px;
	margin-left: 20px;
	margin-bottom: 10px;
	background: rgba(255, 235, 163, 0.1);
	border:3px dotted rgba(219, 185, 122, 0.6);
	border-radius: 10px;
	}
	
.recruit_fellow {
	width: 80%;
	margin-left: 20px;
	margin-bottom: 10px;
	background: rgba(247, 183, 255, 0.05);
	border:3px dotted rgba(219, 185, 122, 0.6);
	border-radius: 10px;
	}
	
.recruit2 {
	margin-bottom: 20px;
	background: rgba(247, 183, 255, 0.05);
	border:3px dotted rgba(219, 185, 122, 0.6);
	border-radius: 10px;
	}
	
	.recruu {
	font-size: 110%;
	font-weight: bold;
	}
	
.recruit3 {
	margin-bottom: 20px;
	background: rgba(184,183,255, 0.1);
	border:3px dotted rgba(200, 200, 200, 0.6);
	border-radius: 10px;
	}
	

.recruit4 h2, .recruit h2, .recruit2 h2, .recruit3 h2, .recruit_student h2, .recruit_fellow h2 {
	color:#333;
	margin-left: 1em;
	line-height:1em;
	border-top:0px;
	border-bottom:0px;
	}

.recruit4 hr, .recruit hr, .recruit2 hr, .recruit3 hr, .recruit_student hr, .recruit_fellow hr {
	width: 95%;
	margin-left:auto;
	margin-right:auto;
	margin-bottom: 10px;
	margin-top: -10px;
	border-top: 1px dotted #aaa;
}	

.recruit4 p, .recruit p, .recruit2 p, .recruit3 p, .recruit_student p, .recruit_fellow p {
	color:#333;
	margin-left: 1em;
	margin-right: 1em;
	}
	
p.rec {
	font-size: 110%;
	padding: 0.5em 0.5em;
	margin-bottom: 1.5em;
	background: rgba(184,183,255, 0.1);
	border-top-left-radius: 6px;
	border-top-right-radius: 6px;
	border-bottom-left-radius: 6px;
	border-bottom-right-radius: 6px;
	}

p.rec:before {
	content:"\0025a0";
	color:#6de051;
	text-shadow: rgba(240, 249, 114, 0.8) 0.2em 0.25em 0px;
	transform: rotate(45deg);
}

.recr {
	list-style-type:decimal;
	margin-top: 2em;
	margin-bottom: 2em;
	border: dashed 1.5px #ccc;
/*	background: rgba(220,225,230, 0.1);*/
	background: rgba(247, 183, 255, 0.05);
/*	background: rgba(255, 183, 217, 0.1);*/
	border-radius: 6px;
	}

.recr p {
	margin: 1em;
}

li.recru {
	padding-top: 1em;
	padding-bottom: 1em;
	padding-right:1em;
	}

.research_abst img{
	max-width: 70%;
	}

.deg {
    padding-left:8em;
    text-indent:-8em;}

.deg:before {
	content: "　　　　　学位：";
}

.field {
    padding-left:8em;
    text-indent:-8em;
}

.field:before {
	content: "　　　専門分野：";
}

.certified {
    padding-left:8em;
    text-indent:-8em;
}

.certified:before {
	content:"認定医・専門医：";
}

.subject{
    padding-left:8em;
    text-indent:-8em;
	}

.subject:before {
	content: "　　　担当科目：";
}

  .society{
    padding-left:8em;
    text-indent:-8em;
  }

.society:before {
	content: "　　　所属学会：";
    }
    
  .prize{
    padding-left:8em;
    text-indent:-8em;
  }

.prize:before {
	content: "　　　　受賞歴：";
    }

.intro {
	margin-top: 20px;
	margin-left: 20px;
}

.intro dd {
	font-size: 105%;
}

.intro2 {
	position: relative;
	left: -1em;
	width: 100%;
}

.intro li {
	margin: 0 0 0 0;
}

.kay {
	margin-left: 10px; 
	text-align:center;

	}
	
.kay h4 {
	margin-left: 0px;
	}

.member img.ka {
	width: 30vw;
	max-width: 500px;
	min-width: 300px;
	height: 100%;
	margin-top: 20px;
	margin-bottom: 20px;
}

.mm {
margin-left: 5em;
}

.pub a {
color: #00a;
}

.pub a:hover {
color: #7c0000;
}

.pub h2 {
	border: none;
}



.pub h4 {
	font-size: 120%;
	color: #333;
	background: #fff;
	border: none;
	margin: 10px;
}

ul.pub {
	display: flex;
	flex-wrap: wrap;
}

ul.pub li {
	margin: 10px;
}


.pub ol {
	list-style-type: decimal;
}

li.publish {
	margin-bottom: 30px;
	line-height: 1.8;
}

.bnr {
	overflow:hidden;
}
.bnr ul {
	overflow:hidden;
}
.bnr li {
	margin:0 0 10px 0;
	padding:0;
	list-style:none;
}
.bnr li a:hover {
	opacity:0.8;
	filter:alpha(opacity=80);
	-ms-filter:"alpha( opacity=80 )";
}
.bnr img {
	width:100%;
}

.add {
width:100%;
margin-top: 20px;
}


/*================================================
 *  フッター
 ================================================*/
footer {
	clear:both;
}

.footmenu {
      max-width: 2000px;
	padding:20px 0;
	overflow:hidden;
	background:rgb(239, 235, 233);
}
.footmenu ul {
	position:relative;
	float:left;
	left:50%;
	margin:0;
	padding:0;
}
.footmenu li {
	position:relative;
	left:-50%;
	float:left;
	list-style:none;
	margin:0;
	padding:0 15px;
	font-size:12px;
	text-align:center;
}
.footmenu a {
	color:#333;
	text-decoration:none;
}
.footmenu a:hover {
	color:#333;
	text-decoration:underline;
}

.copyright {
	clear:both;
    max-width: 2000px;
	padding:20px 0;
	font-size:11px;
	text-align:center;
	color:#efede9;
	background:#4d4398;
}

.foot2{
	display: flex;
	align-content: flex-end;
	justify-content: center;
	background:rgb(239, 235, 233);
	max-width: 2000px;
	padding-top: 20px;
}

.foot2 h4{
	font-weight: 300;
}

.fbb{
	order: 0;
	width: 50vw;
	max-width:500px;
	min-width: 200px;
		height: 300px;
	margin-left:min(10vw, 500px);
	overflow:hidden;
	padding-top: 2.5vw;
  }

.addre{
	order:1;
	margin-top:min(2.5vw, 200px);
	margin-left:min(5vw, 200px);
	max-width: 350px;
	min-width: 250px;
	height: 180px;
	background: rgb(222, 216, 212);
	padding: min(2.5vw, 50px);
}


@media screen and (max-width:550px) {
.foot2{
	flex-direction: column;
	}

.fbb{
	display:none;
  }

.addre{
	order:0;
}

}


/*================================================
 *  ページトップへの戻り
 ================================================*/
.totop {
	position:fixed;
	top:100px;
	right:5vw;
	width: 24%;
}
.totop a {
	display:block;
	text-decoration:none;
}

.totop h3, .totop ul {
	max-width: 200px;
}

.totop img {
	position: fixed;
	width:35px;
	right: 5vw;
	bottom: 5%;
	background:#342d66;
}
.totop img:hover {
	background:#ffa500;
}

#sub h3, h3.submenu {
	background:#4d4398;
	color:#fff;
	border-top-left-radius: 6px;
	border-top-right-radius: 6px;
	border-bottom-left-radius: 6px;
	border-bottom-right-radius: 6px;
}

/*================================================
 *  クラス
 ================================================*/
.list {
	padding:0 0 0 0.5em;
}
.list li {
	margin:0;
	padding:0 0 0 15px;
	list-style:none;
	background:url(../images/check.png) 0 5px no-repeat;
}

.info dt {
	border-bottom:none;
}
.info dd {
	margin-left: 1.25em;
	margin-right: 20px;
}



hr.news {
	margin-left: 0.5em;
	border-top:0.5px dashed #ddd;
}

.surround {
	padding: 0.5em 1em;
	border: dotted 2px #ccc;
	border-radius: 10px;
	background: rgba(220, 225, 230, 0.1);
	margin-bottom: 2em;
}

.surround h3 {
	background: none;
}

.surround2 {
	padding: 1em 1em;
	border: dotted 0.5px #ccc;
	border-radius: 10px;
	background: rgba(220, 225, 230, 0.1);
	margin-bottom: 3em;
}

.surround3 {
	padding: 0.5em 1em;
	margin-top: 1em;
	margin-bottom: 3em;
}

.scrollbar_container {
  width: 90%;
  overflow-x: hidden;
  margin-left: 5%;
}

.scrollbar_hidden {
  width: calc(100% + 17px);  /* デフォルト値 */
  height: 45em;
  overflow-y: auto;
  margin-bottom: 2em;
}

.col_two_one {
	overflow:hidden;
}

.col_two_one ul {
	overflow:hidden;
	margin:2% -2% 0 0;
}
.col_two_one li {
	list-style:none;
	float:left;
	width:48%;
	margin:0 2% 2% 0;
}
.col_two_one li:nth-child(2n+1) {
	clear:both;
}
.col_two_one li img {
	width:100%;
	margin-bottom:2.5%;
}

.bartonella {
	width:400px;
	margin-left:auto;
	margin-right: auto;
	}
	
.legend {
	text-align:center;
}

/*================================================
 *  スライドショー
 ================================================*/
/* スライドショー */
.slide {
	display:none;
	position:relative;
	overflow:hidden;
	margin-top:20px;
	background: #efede9;

}

.slide2 {
	width: 90%;
	height:auto;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1em;
	overflow:hidden;
	background: #fff;
}

ul.slick-box3 li {
	margin:0 0;
}


.slidePrev {
	position:absolute;
	cursor:pointer;
	z-index:2;
}

.slideNext {
	position:absolute;
	cursor:pointer;
	z-index:2;
}

.slidePrev img {
	position:absolute;
	width:50px !important;
	height:60px !important;
}

.slideNext img {
	position:absolute;
	width:50px !important;
	height:60px !important;
}

.slideInner {
	position:relative;
	margin:0 0 5px 0;
	padding:0;
}
.slideInner li {
	float:left;
	margin:0;
	padding:0;
	list-style:none;
}
.slideInner li img {
	margin:0 5px;
	padding:0;
}

.filterPrev {
	position:absolute;
	left:0;
	opacity:0.8;
	filter:alpha(opacity=80);
	background-color:#fff;
}

.filterNext {
	position:absolute;
	right:0;
	opacity:0.8;
	filter:alpha(opacity=80);
	background-color:#fff;
}

.controlNav {
	position:relative;
	float:left;
	left:50%;
}
.controlNav span {
	position:relative;
	left:-50%;
	float:left;
	margin:5px;
	-webkit-border-radius:5px;
	-moz-border-radius:5px;
	border-radius:5px;
	width:10px;
	height:10px;
	overflow:hidden;
	background:#ccc;
	text-indent:-9999px;
	vertical-align:middle;
}
.controlNav span:hover {
	background:#999;
	cursor:pointer;
}
.controlNav span.current {
	background:#6de051;
}

/*================================================
 *  ページ内リンク対策
 ================================================*/

	

  .FixTable {
  overflow-x: scroll;
 }
  
  .FixTable th {
     font-size: 0.8rem;
  	background-color: #fff;
 }
 

	
  .FixTable th.kyunai {
       font-size: 0.8rem;

  	background-color: rgba(184,183,255, 0.2);
 }

  .FixTable th.kansen {
  	background-color: rgba(255,140,0, 0.2);
 }

  .FixTable th.renkei {
  	background-color: rgba(144,238,144, 0.2);
 }
  
   .FixTable th.leftt {
	text-align: left;
	 }
 
@media screen and (max-width:500px) {
h3#klebsiella, h3#genom_ana, h3#pot, h3#carbapenem, h3#barto, h3#UDG, h3#HSA, h3#PCNA {
/*	padding-top: 120px;
	margin-top: -120px;
*/}
}

/*===============================================
募集関係
=================================================*/

    .cta-container {
      display: flex;
      flex-wrap: wrap;
      gap: 2em;
      justify-content: center;
      max-width: 1800px;
      margin: 0 auto;
      padding: 1em;
      margin-bottom: 1.2rem;
    }

    .cta-box {
      flex: 1 1 120px;
      max-width: 240px;
      border-radius: 12px;
      padding: 1em;
      text-align: center;
      box-shadow: 0 4px 12px rgba(0,0,0,0.1);
      transition: transform 0.3s ease, box-shadow 0.3s ease;
    }
    
    .alumni {
      flex: 1 1 400px;
	  max-width: 600px;
      min-width: 200px;
    }

    .cta-box:hover {
      transform: translateY(-5px);
      box-shadow: 0 6px 18px rgba(0,0,0,0.15);
    }

    .cta-box h2 {
      margin-bottom: 0.6em;
      letter-spacing: 0.02em;
    }

    .cta-box a {
      margin-bottom: 1.2em;
      letter-spacing: 0.02em;
    }

    .cta-box p {
      line-height: 1.6;
      color: #222;
    }

    .grad { background: linear-gradient(135deg, #ffffffcc, #f4f4f9cc); border: 1px solid #ddd; } .grad h2 { color: #2d265c;border-top: 3px solid #2d265c;border-bottom: 1px dotted #2d265c; }
    .blue { background: linear-gradient(135deg, #e8f1f9, #cde1f0); border: 1px solid #a5c3da; } .blue h2 {border-bottom: 1px dotted #2d265c;}
    .green { background: linear-gradient(135deg, #e5f5f0, #c8eae1); border: 1px solid #99cbbf; } .green h2 { color: #2c5a4f; border-top: 3px solid #2c5a4f;border-bottom: 1px dotted #2c5a4f;}
    .orange { background: linear-gradient(135deg, #fff4e5, #ffecd2); border: 1px solid #e0c7a5; } .orange h2 { color: #b65c00; border-top: 3px solid #b65c00;border-bottom: 1px dotted #b65c00;}
    .red { background: linear-gradient(135deg, #ffe6e6, #ffd1d1); border: 1px solid #eaa4a4; } .red h2 { color: #b30000; border-top: 3px solid #b30000;border-bottom: 1px dotted #b30000;}
    .gray { background: linear-gradient(135deg, #eeeeee, #d8d8d8); border: 1px solid #bbbbbb; } .gray h2 { color: #444; border-top: 3px solid #444;border-bottom: 1px dotted #444;}
    .indigo { background: linear-gradient(135deg, #e3e4f3, #c5c8e8); border: 1px solid #999cc3; } .indigo h2 { color: #3f51b5; border-top: 3px solid #3f51b5;border-bottom: 1px dotted #3f51b5;}
    .rose { background: linear-gradient(135deg, #fde2e8, #f8cbd6); border: 1px solid #e6a6b5; } .rose h2 { color: #d81b60; border-top: 3px solid #d81b60;border-bottom: 1px dotted #d81b60;}
    .gold { background: linear-gradient(135deg, #fff8e1, #ffecb3); border: 1px solid #f0d591; } .gold h2 { color: #f9a825; border-top: 3px solid #f9a825;border-bottom: 1px dotted #f9a825;}

.button {
  display: inline-block;
  padding: 0.6em 1.2em;
  border-radius: 6px;
  text-decoration: none;
  font-weight: bold;
  margin-top: 1em;
  transition: all 0.3s ease;
  border: 2px solid transparent;
}

/* 紫 */
.btn-purple {
  background-color: white;
  color: #4d4398;
  border-color: #4d4398;
}
.btn-purple:hover {
  background-color: #4d4398;
  color: white;
}

/* 青 */
.btn-blue {
  background-color: white;
  color: #3a7ca5;
  border-color: #3a7ca5;
}
.btn-blue:hover {
  background-color: #3a7ca5;
  color: white;
}

/* 緑 */
.btn-green {
  background-color: white;
  color: #4a947e;
  border-color: #4a947e;
}
.btn-green:hover {
  background-color: #4a947e;
  color: white;
}

/* オレンジ */
.btn-orange {
  background-color: white;
  color: #e48c2d;
  border-color: #e48c2d;
}
.btn-orange:hover {
  background-color: #e48c2d;
  color: white;
}

/* 赤 */
.btn-red {
  background-color: white;
  color: #c94040;
  border-color: #c94040;
}
.btn-red:hover {
  background-color: #c94040;
  color: white;
}

/* グレー */
.btn-gray {
  background-color: white;
  color: #666;
  border-color: #666;
}
.btn-gray:hover {
  background-color: #666;
  color: white;
}

/* インディゴ */
.btn-indigo {
  background-color: white;
  color: #5c6bc0;
  border-color: #5c6bc0;
}
.btn-indigo:hover {
  background-color: #5c6bc0;
  color: white;
}

/* ローズ */
.btn-rose {
  background-color: white;
  color: #d81b60;
  border-color: #d81b60;
}
.btn-rose:hover {
  background-color: #d81b60;
  color: white;
}

/* ゴールド */
.btn-gold {
  background-color: white;
  color: #f9a825;
  border-color: #f9a825;
}
.btn-gold:hover {
  background-color: #f9a825;
  color: #333; /* 白だと読みにくいため濃い文字色に */
}

    @media (max-width: 500px) {
      .cta-container {
        flex-direction: column;
        align-items: center;
      }
    }



/*================================================
 *  タブレット向けデザイン
 ================================================*/
/* スクロールバーを考慮して20px大きいサイズで切り替え */
	
	@media screen and (max-width:980px) {
	.inner {
		width:100%;
	}
	
	#introduct {
		width: 100%;
		padding:10px 0px;
		margin-bottom: 1em;
	}
	

	#covid2 {
		width:90%;
	}
	
	#covid2 p {
		font-size:90%;
	}
	
	#covid2 p.intro, #covid2 p.covid {
		font-size:60%;
	}
	
	
	p.intro {
	margin-right: 1em;
	margin-left: 1em;
	}

	footer {
		width:100%;
	}
	

}

/*================================================
 *  スマートフォン向けデザイン
 ================================================*/
@media screen and (max-width:769px) {
.dep_microbiol, .dep_infect {
	width: 100%;
	margin-left: 10px;
	margin-right: 10px;
	margin-top: -500000000px;
	border-bottom: 1px dotted #342d66;
}

.fbb{
	width: 90%;
  	margin-left:auto;
  	margin-right:auto;
  }


.posit {
	width: 100%;
	margin-left: 0px;
	margin-right: 0px;
	margin-top: 10px;
	margin-top: 10px;
}

	.member img {
		margin-bottom: 20px;
	}
	
.member dt.prof {
		width: 100%;
		margin-left: 0px;
	}
	

h3.smapho {
	height: auto;
	overflow: visible;
	text-align: left;
	margin-left: 0px;
	border-bottom:1px dotted #342d66;

}

.pict_prof img, .pict img{
width: 270px;
}

	.footmenu ul, .footmenu li {
			font-size: 80%;
	}

}


	
@media screen and (min-width:666px) {
	br.title {
		display: none;
	}
	
p.sumapho {
   	display: none;
}
	

	}

@media screen and (max-width:800px) {
    .hero {
      height: 400px;
      background-image: url("../images/top/web1.png");
    }
}


@media screen and (max-width:550px) {
[id] {
  scroll-margin-top: 23vw; /* 固定ヘッダーの高さに応じて */
}


	.lock {
		overflow:hidden;
	}

	.inner {
		margin-left:0px;
	}


	h1 {
		font-size: 170%;
		line-height: 1.1em;
		filter: drop-shadow(1px 1px 1px rgba(200,200,200,0.6));
	}
	
	h1 a:hover{
		color:#fff;
	}
		 
		
	h2, h3, h4, h5 {
		font-size: 120%;
		font-weight:bold;
		}
		
	p.intro {
	font-size: 105%;
	}

.kay h4 {
	margin-left: 0px;
	font-size: 90%;
	}
		
		br.break {
			display: none;
		}

.header-wrapper {
  height: 0;
  min-height: 0vh;
  background: rgba(255,255,255, 0.9);
}
	
	header {
		z-index:13;
		box-sizing:border-box;
		position:fixed;
		top:0;
		left:0;
		width:100%;
		padding:5px 10px;
		height: 23vw;
  background: rgba(255,255,255, 0.9);
  border-bottom: solid 0.5px rgba(77,67,152, 0.2);
	}
	
	header p.title {
		font-size: min(2vw, 1vh);
		padding-left: 5px;
		text-shadow: #eee 0.1px 0.1px 0.5px, #ccc -0.5px -0.5px 1px;

	}
	
	header h1 {
		font-size: 2.5vh;
	}

.hero-filter {
  background: linear-gradient(to bottom, rgba(77, 67, 152, 1), rgba(77, 67, 152, 0));
  clip-path: polygon(
    0% 0%, 100% 0%, 
    100% 40%, 25% 50%, 0% 100%
  );
  z-index: 1;
}

   .hero-text h1 {
      font-size: min(2.5vh, 24px);
    }

    .hero-text h2 {
      font-size: min(2vh, 22px);
    }
        .hero-text p {
      font-size: min(1.25vh, 12px);
    }


	
	.inner h1 {
		padding: 5px;
	}
	

	.inner a.news{
		color: #00a;
	}


	.summary {
		position:relative;
		top:auto;
		right:auto;
		margin-top:15px;
	}
	
	#contents {
		padding-top:0px;
	}

	#main {
		float:none;
		width: 95vw;
		margin-left: 5px;
		padding-bottom: 3em;
	}
	
	#covid2 {
	padding:5px;
		width: 92%;
}

	#sub {
		float:none;
		width:100%;
	}

	nav {
		/*background:#342d66;*/
		
	}
	nav ul {
		margin:0;
		padding:0;
		}

	nav .inner > ul {
		z-index:2;
		overflow:auto;
		position:fixed;
		top:140px;
		right:0;
		width:100%;
		height:88%;
		height:-webkit-calc(100% - 53px);
		height:calc(100% - 53px);
	}
	
	nav li {
		position:relative;
		width:100%;
		float:none;
		font-size: 90%;
		margin:0;
		text-align:left;
		list-style:none;
		border-bottom:1px solid #fff;
		/*8c0e0e;*/
		background:#4d4398;
	}

	nav li:first-child {
		border-top:0;
	}
	nav li:last-child {
		border-bottom:0;
	}

	nav li a {
		display:block;
		padding:10px 30px;
		font-size: 110%;
		color:#fff;
		text-decoration:none;
		background:#4d4398;
		/*background:#4d4398;*/
	}
	nav li a:hover {
		color:#fff;
		background:#342d66;
	}
	nav ul ul {
		display:none;
		position:relative;
	}
	nav li li a {
		box-sizing:border-box;
		width:100%;
		padding:10px 30px 10px 50px;
		text-align:left;
	}

	nav li li li a {
		padding:10px 30px 10px 70px;
	}


	
	.subnav > a:before {
		display:block;
		content:"";
		position:absolute;
		-webkit-transform:rotate(45deg);
		transform:rotate(45deg);
		top:20px;
		right:30px;
		width:10px;
		height:10px;
		margin-top:-5px;
		background:#f1f1f1;
	}
	.subnav > a:after {
		display:block;
		content:"";
		position:absolute;
		-webkit-transform:rotate(45deg);
		transform:rotate(45deg);
		top:20px;
		right:30px;
		width:10px;
		height:10px;
		margin-top:-10px;
		background:#4d4398;
	}
	.subnav a:hover:after {
	  background:#342d66;
	}

	.active > a:before {
		margin-top:0;
	}
	.active > a:after {
		margin-top:5px;
	}

	.gnav {
		display:none;
	}
	
	.gnav li.title{
		display: block;
	}
	
	.hidden_menu, .hidden_menu2 {
		display: none;
	}

	#spMenu {
		display:block;
		z-index:5;
		position:fixed;
		top:108px;
		right:5px;
	}
	#spMenu:hover {
		cursor:pointer;
	}

	#navBtn {
		display:inline-block;
		position:relative;
		width:30px;
		height:30px;
		border-radius:5%;
		background:#4d4389;
		/*342d66;*/
	}
	
	#navBtn:after {
		background: #fff;
	}
	
	#navBtnIcon {
		display:block;
		position:absolute;
		top:50%;
		left:50%;
		width:14px;
		height:2px;
		margin:-1px 0 0 -7px;
		background:#f1f1f1;
		transition:.2s;
	}
	#navBtnIcon:before,
	#navBtnIcon:after {
		display:block;
		content:'';
		position:absolute;
		top:50%;
		left:0;
		width:14px;
		height:2px;
		background:#f1f1f1;
		transition:0.3s;
	}
	#navBtnIcon:before {
		margin-top:-6px;
	}
	#navBtnIcon:after {
		margin-top:4px;
	}
	#navBtn .close {
		background:transparent;
	}
	#navBtn .close:before,
	#navBtn .close:after {
		margin-top:0;
	}
	#navBtn .close:before {
		transform:rotate(-45deg);
		-webkit-transform:rotate(-45deg);
	}
	#navBtn .close:after {
		transform:rotate(-135deg);
		-webkit-transform:rotate(-135deg);
	}

	.col_two_one ul {
		margin-right:0;
	}
	.col_two_one li {
		width:100%;
	}
	.col_two_one li:nth-child(2n+1) {
		clear:both;
	}
	
	.bartonella {
		width: 100%;
	margin-left:auto;
	margin-right: auto;
	}

	.lab dd {
		margin-left: 0em;
		text-align: left;
	}

.card {
  width: 85vw;
}

.card-photo {
  width: 100px;
  height: 100px;
}

.other {
  width: 85vw;
}
	
	.pict_lab {
		width: 100%;
	}

	.pict_lab dt {
		font-weight: bold;
			}
			
	.pict_lab dd {
		text-align: center;
			}


	.info {
		height: auto;
	}

	.slide {
		padding-top: 30px;
	}
	
	.add {
		width:100%;
	}
	
	.recruit {
		margin-top: 40px;
		}
		
	#covid2 p.intro, #covid2 p.covid {
		font-size:100%;
	}

	.footmenu  {
			display:none;
	}
	
	.rightt {
		text-align: center;
		display: block;
		}

	.research_abst img{
	max-width: 100%;
	}
	
	.scrollbar_hidden {
  width: calc(100% + 17px);  /* デフォルト値 */
  height: 35em;
  overflow-y: auto;
  }
  
    p.covid img {
	max-width: 25%;
}

    .FixTable table {
	 width: 220%;
     table-layout: fixed;
	}
  
     .FixTable th.month {
     font-size: 70%;
	}
    
    .FixTable th.yy {
     width: 5%;
	}
	
	p.sumapho {
   		font-size: 80%;
  		color: #999;
 }
  
  .FixTable th.small {
  	font-size: 0.5rem;
 }	
 
 table.infect {
	width:85%;
	margin-left: 1.5em;
	margin-bottom:1em;
	border-collapse:collapse;
	border:0px dashed #ddd;
	background:#fff;
}
  
  }
  
@media print, screen and (max-height:700px) and (min-width:650px){
.header-wrapper {
  height: 25vh;
}

header h1 {
	font-size: min(3vw, 4.5vh);
}
 header p.title {
 	font-size: 1.5vh;
 }
 
 #contents{
 	padding-top:25vh;
 }
 }
 

 