/* @import url(https://fonts.googleapism/css?family=Lato:300italic,700italic,300,700); */
html {
 	font-size: 62.5%;
}
body {
  font-family:"メイリオ",Meiryo,"游ゴシック",YuGothic,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","ＭＳ Ｐゴシック","MS PGothic",sans-serif; /* custom */
  color:#000000;
  font-weight:300;
  padding-top:70px;
  padding-bottom: 0px; /* custom */
  font-size: 15px; /* custom */
  background-color: #F1F2F6; /* custom */
    /*以下常にページ下部にフッターを置くために指定*/ /* custom */
  display: flex;
  flex-flow: column;
  min-height: 100vh;
}
.container {
  /* custom */
  flex: 1 !important;  /*常にページ下部にフッターを置くために指定*/
}
/* custom */
@media screen and (min-width: 1200px){
	.container {
		min-width: 1180px !important; /* 所属の一覧が日本語で改行されないための指定 */
	}
}
@media print {
  a[href]:after {
    content: "" !important;
  }
  abbr[title]:after {
    content: "" !important;
  }
}

h1, h2, h3, h4, h5, h6 {
  color:#222;
  margin:0 0 20px;
}

ul, ol, table, pre, dl {
  margin:0 0 20px;
}

h1, h2, h3 {
  line-height:1.1;
}

h1 {
  font-size:28px;
}

h2 {
  color:#393939;
}

h3, h4, h5, h6 {
  color:#494949;
}

a {
  color:#1080B3;
  font-weight:400;
  text-decoration: underline; /* custom */
}
a:hover {
	/* custom */
	text-decoration: none;
}
a small {
  font-size:11px;
  color:#777;
  margin-top:-0.6em;
  display:block;
}

.wrapper {
  width:860px;
  margin:0 auto;
}

blockquote {
  border-left:1px solid #e5e5e5;
  margin:0;
  padding:0 0 0 20px;
  font-style:italic;
}

code, pre {
  font-family:Monaco, Bitstream Vera Sans Mono, Lucida Console, Terminal;
  color:#333;
  font-size:12px;
}

pre {
  padding:8px 15px;
  background: #f8f8f8;
  border-radius:5px;
  border:1px solid #e5e5e5;
  overflow-x: auto;
}

table {
  width:100%;
  border-collapse:collapse;
}

th, td {
  text-align:left;
  padding:5px 10px;
  border-bottom:1px solid #e5e5e5;
}

dt {
  color:#444;
  font-weight:700;
}

th {
  color:#444;
}

img {
  max-width:100%;
}

header {
  width:100%;
  position:static;
}

header ul {
  list-style:none;
  height:40px;

  padding:0;

  background: #eee;
  background: -moz-linear-gradient(top, #f8f8f8 0%, #dddddd 100%);
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f8f8f8), color-stop(100%,#dddddd));
  background: -webkit-linear-gradient(top, #f8f8f8 0%,#dddddd 100%);
  background: -o-linear-gradient(top, #f8f8f8 0%,#dddddd 100%);
  background: -ms-linear-gradient(top, #f8f8f8 0%,#dddddd 100%);
  background: linear-gradient(top, #f8f8f8 0%,#dddddd 100%);

  border-radius:5px;
  border:1px solid #d2d2d2;
  box-shadow:inset #fff 0 1px 0, inset rgba(0,0,0,0.03) 0 -1px 0;
  width:270px;
}

header li {
  width:89px;
  float:left;
  border-right:1px solid #d2d2d2;
  height:40px;
}

header ul a {
  line-height:1;
  font-size:11px;
  color:#999;
  display:block;
  text-align:center;
  padding-top:6px;
  height:40px;
}

strong {
  color:#222;
  font-weight:700;
}

header ul li + li {
  width:88px;
  border-left:1px solid #fff;
}

header ul li + li + li {
  border-right:none;
  width:89px;
}

header ul a strong {
  font-size:14px;
  display:block;
  color:#222;
}

section {
  width:500px;
  float:right;
  padding-bottom:50px;
}

small {
  font-size:11px;
}

hr {
  border:0;
  background:#e5e5e5;
  height:1px;
  margin:0 0 20px;
}

footer {
  width:100%;
/*  position: fixed; */ /* custom */
  bottom: 0;
  height: 20px;
}

@media print, screen and (max-width: 960px) {

  div.wrapper {
    width:auto;
    margin:0;
  }

  header, section {
    float:none;
    position:static;
    width:auto;
  }
  
  footer{
	width: 100%;
  }

  header {
    padding-right:320px;
  }

  section {
    border:1px solid #e5e5e5;
    border-width:1px 0;
    padding:20px 0;
    margin:0 0 20px;
  }

  header a small {
    display:inline;
  }

  header ul {
    position:absolute;
    right:50px;
    top:52px;
  }
}

@media print, screen and (max-width: 720px) {
  body {
  	padding-top: 70px;
    word-wrap:break-word;
  }

  header {
    padding:0;
    width:100%;
    position:static;
  }

  header ul, header p.view {
    position:static;
  }

  pre, code {
    word-wrap:normal;
  }
}

@media print, screen and (max-width: 480px) {
  body {
  	padding-top: 70px;
  }

  header ul {
    display:none;
  }
}

@media print {
  body {
    padding:none !important;
    font-size:12pt;
    color:#444;
  }
  .name-header {
    width:100% !important;
  }
  .gyoseki-menu {
    width:100% !important;
  }
}


/**	k01 */
.k01-table1 {
	background:#CBEDFD;  /* custom */
	font-size: 1.7rem;
	font-weight: 600; /* custom */
}
.search-top {
	width: 100%;
	background:#CBEDFD;  /* custom */
	padding: 8px;
	font-size: 1.7rem;
	font-weight: 600; /* custom */
}
.search-bottom
{
	text-align: left;
	padding-top: 20px;
	line-height: 25px;
}
.search-button{
	margin-top: 10px;
	text-align:center;
}
.senmon-top {
	margin-top: 30px;
	width: 100%;
	background:#CBEDFD;  /* custom */
	padding: 8px;
	font-size: 1.7rem;
	font-weight: 600; /* custom */
}
.senmon-bottom {
	padding: 8px;
}
.senmon-link {
	text-align:right;
}
.k01-gakubu {
	font-size: 1.7rem;
}
.k01-table{
	background: #fff !important;
}

/* custom */
.k01-table td{
	width: 50%;
}


/** k02 */
.k02-top {
	background:#CBEDFD;  /* custom */
	font-size: 16px;
	width: 100%;
	margin-bottom: 20px;
	padding: 8px;
}
.k02-notFound {
	font-size: 16px;
	font-weight: bold;
}
.k02-number {
	width: 40px;
	text-align:right;
}
.k02-name {
	width: 20%;
}
.k02-title{
   padding-left: 50px;
	
}
.k02-keyword {
	width: 400px !important;
   padding-left: 20px;
	
}
.k02-table{
	background: #fff !important;
}
.info th { /* custom */
	background:#CBEDFD !important;  /* custom */
	color: #162032;
}

.info { /* custom */
	background:#CBEDFD !important;  /* custom */
	color: #162032;
}

/**	k03 */
.k03-title1-font1,	/*	教員カナ氏名 フォント */
.k04-title1-font1	/*	教員カナ氏名 フォント */
{
	font-size: 1.2rem; /* custom */
}
.k03-title1-font3
{
	font-size: 1.3rem; /* custom */
}
.k03-title1-font2,	/*	教員漢字氏名 フォント */
.k04-title1-font2	/*	教員漢字氏名 フォント */
{
	color: #05628D; /* custom */
	font-size: 150%;
	font-weight: bold;
}

.k03-title1-font1 {
	white-space: nowrap;
}

.name-header {
	margin: 0;
	padding: 0;
	border: 1px solid #ddd;
	min-height: 50px !important;
	background-color: #fff; /* custom */
}
.name-header:after {
	display: block;
	clear: both;
	content: "";
}
.list-group {
	width: 100%;
}

.Breadcrumbs {
	margin-bottom: 10px;
}
.s-photo {
	max-width: none;
	width: 100%;
	text-align: center;
}

.s-photo img {
	width: 120px;
}

.kyoin-title {
	max-width: none;
}

#photo {
	max-height: 110px;
	right: 3%;
	margin: 0px;
	-webkit-filter: blur(0);
}

.dropdown-toggle {
	/* custom */
	text-decoration: none !important;
}

.dropdown-menu > li >a{
	/* custom */
	text-decoration: none !important;
}
.dropdown-menu>li>a:hover{
	/* custom */
	background-color: #1080B3;
}

@media screen and (min-width: 768px)  {
	.s-photo {
		width: 150px;
	}
	
	.kyoin-title {
		max-width: 75%;
	}
}

/*写真左固定ver.*/
/*@media screen and (max-width: 576px)  {*/
/*	.s-photo {*/
/*		max-width: 119.5px;*/
/*	}*/
	
/*	.kyoin-title {*/
/*		max-width: calc(100% - 119.5px);*/
/*	}*/
/*}*/

/*@media screen and (max-width: 425px)  {*/
/*	.s-photo {*/
/*		max-width: 100px;*/
/*		padding: 0 5px;*/
/*	}*/
	
/*	.kyoin-title {*/
/*		max-width: calc(100% - 100px);*/
/*	}*/
/*}*/

/*@media screen and (max-width: 375px)  {*/
/*	.s-photo {*/
/*		max-width: 80px;*/
/*		padding: 0 5px;*/
/*	}*/
	
/*	.kyoin-title {*/
/*		max-width: calc(100% - 80px);*/
/*	}*/
/*}*/

.date {
	display: inline-block;
	width: 100%;
	margin: 0 0 10px;
	padding: 0;
	text-align: right;
	font-size: 1.2rem; /* custom */
	color: #555555;
}

.name {
	margin: 0 10px;
}

.keyword-hit {
  background-color: #ffc107
}

.kyoin-info {
	margin: 0 10px;
	line-height: 1.2em;
}

.fixed.name-header {
	position: fixed;
	width: 100%;
	top: 56px;
	z-index: 10000;
	background: white;
	left: auto;
	display: flex;
	align-items: flex-end;
}
.fixed .title {
	height: 50px;
	padding: 10px 0 0;
}
.fixed .date {
	display: none;
}
.fixed .name {
	margin: 0 auto;
	width: 90%;
}
.fixed .kyoin-info {
	display: none;
}
.fixed .s-photo {
	display: none;
}

.gyoseki-menu {
	border: 1px solid #ddd;
	display: none;
	background-color: #fff; /* custom */
}

@media screen and (min-width: 768px)  {
.gyoseki-menu {
	display: block !important;
	}
}

.gyoseki-menu:after {
	display: block;
	clear: both;
	content: "";
}
.fixed.gyoseki-menu {
	position: fixed;
	width: 100%;
	top: 106px;
	z-index: 10000;
	background: white;
	left: auto;
}

.k03-subgroup {
	font-size: 16px;
	background-color: #0000EE;
	font-weight: bold;
	color: #FFF;
	padding: 5px;
}

.gyoseki-field {
	margin-bottom: 30px;
}
.gyoseki-field tr:nth-child(odd){
    /* custom */
	background-color: #ffffff !important;
}

.gyoseki-field tr:nth-child(even){
	/* custom */
	background-color: #FAFDFE;
}
.gyoseki-table {
	margin-bottom: 0px;
}

.gyoseki-table > tbody tr:first-of-type > th{
	background-color: #CBEDFD !important;
}
.gyoseki-table tr:nth-child(odd){
    /* custom */
	background-color: #ffffff !important;
}

.gyoseki-table tr:nth-child(even){
	/* custom */
	background-color: #FAFDFE;
}
[id="m42-image"] {
	/* custom */
  background-color: #ffffff;
}
[id^="m42_"] {
	/* custom */
  background-color: #ffffff;
}
.table-active{
	background-color: #E6F6FD; /* custom */
}
.boxA  {
	width: 40px;
	float: left;
}

.boxB  {
	float: left;
}

.boxC  {
	padding-left: 40px;
}
.card-header:first-child{
	background-color: #FAFDFE !important;
}

@media screen and (min-width: 768px){
	.boxA  {
		width: 130px;
		float: left;
	}
	
	.boxC  {
		padding-left: 130px;
	}
}

.clear {
	clear:both;
}
.k03-number {
	width: 30px;
}

.k03-YM {
	width: 80px;
}
.k03-YMD {
	width: 100px;
}
.k03-periodYM {
	width: 180px;
}
.k03-periodYMD {
	width: 200px;
}
.k03-gyoseki-title {
	font-weight: normal;
	margin-right:7px;
}
.k03-gyoseki-title-without-link {
	font-weight: normal;
}
@media screen and (max-width: 480px){
	.k03-periodYMD {
		width: 120px;
	}
} 
.k03-m22-nktitm {
	width: 80px;
}
.m42-img {
	max-width:240px;
	max-height:240px;
}
.m42-atag{
	display:inline-block;
}
.m42-atag img{
	transition:0.3s;
	display:block;
	width:100%;
}
.m42-atag:hover img{
	cursor: zoom-in;
	opacity:0.8;
}
/* 外部リンクアイコン色指定 */
.oi-external-link:before {
  /* color: #39c; */
}

.scrollable-menu {
	height: auto;
	max-height: 300px;
	overflow-x: hidden;
}

a.disabled {
	display: inline-block;
	pointer-events:none;
	cursor:default;
	text-decoration:none;
	color:#000000;
}

/**	k04 */
.k04-item {
	min-width: 100px;
	width: 20%;
}
.gyoseki-back {
	text-align: center;
}
.k03-preview-font{
	color: red;
}

/**	k05 */
.k05-clsbtn {
	text-align: center;
    margin-bottom: 30px;
}
@media screen and (max-width: 767px){
	.k05-clsbtn {
		display:none;
	}
} 

/** head ***/
.navbar-default{
	/* custom */
/*	max-width: 1400px;*/
    height: 56px;
	background-image: none;
	background-color: #ffffff !important;
	margin-left: auto;
    margin-right: auto;
    border: none;
    box-shadow: 0 1px 10px rgba(0,0,0,0.1);
}
.header{
	width: 100%;
	display: inline-block;
}
.header-logo-div{
	/* custom */
	display: inline-block;
	height: 100%;
	width: 212px;
	position: relative;
	top: -9px;
	left: 9px;
}
.header-logo-div-en{
	/* custom */
	display: inline-block;
	height: 100%;
	width: 280px;
	position: relative;
	top: -9px;
	left: 9px;
}
.header-left{
	display: inline-block;
/*	float: left;*/ /* custom */
	font-size: 2rem;
	padding-top: 5px
}
.navbar > .container{
	/* custom */
	max-width: 1400px;
	padding: 0px;
}
/*.navbar-header{*/
/*	 custom */
/*	display: flex;*/
/*	justify-content: space-between;*/
/*}*/
/*.navbar-header::before{*/
/*	 custom */
/*	content: none;*/
/*}*/
/*.navbar-header::after{*/
/*	 custom */
/*	content: none;*/
/*}*/
.header-right{
	display: inline-block;
	float: right;
	position: relative;
	top: 10px;
}
.header-left span {
	/* custom */
    color: #000000 !important;
    font-weight: 400;
    font-size: 26px;
    margin-left: 20px;
    vertical-align: 5px;
}
/** foot ***/
.bg-primary {
    /* custom */
    background-color: #333 !important;
    height: 61px;
    margin-top: 15px;
}
.footer > .container{
    /*custom*/
	font-size: 13px;
	line-height: 60px;
	
}
/* 言語切り替えボタン */
.lang-btn {
  display: inline-block;
  padding: 0.4rem 0.6rem 0.4rem 1.0rem;
  background-color: #1080B3; /* custom */
/*  background-image: linear-gradient(#54b4eb, #2fa4e7 60%, #1d9ce5);*/ /* custom */
  border: 1px #fff solid;
  color: #fff;
  cursor: pointer;
  text-decoration: none; /* 文字の下線を消す */
  /* custom */
  width: 100%; /* 言語切り替えで長さが変わるところを合わせる */
}
/* 言語切り替えボタンクリック時 */
.lang-btn:active {
  box-shadow: none;
}
.lang-btn:hover,
.lang-btn:focus 
{
  background-color: #335E71; /* custom */
  text-decoration: none !important;
}
 .lang-text{
  vertical-align: middle;
}
.lang-icon{
  width: 25px;
  height: 25px;
  display: inline-block;
  mask-position: center center;
  -webkit-mask-position: center center;
  mask-size: contain;
  -webkit-mask-size: contain;
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-image:url("../img/lang-icon.svg");
  mask-image: url("../img/lang-icon.svg");
  background:#FFF;
  margin-right: 3px;
  vertical-align: middle;
}
@media screen and (max-width: 767px){
	.k02-name {
		width: 89%;
	}
} 

@media only screen and (max-width: 768px) {
	.header-logo-div{
		/* custom */
		display: inline-block;
		height: 100%;
		width: 160px;
		position: relative;
		top: -12px;
		left: -2px;
	}
	
	.header-left span {
		font-size: 18px;
	}
	.header-logo-div-en{
		/* custom */
		display: inline-block;
		height: 100%;
		width: 160px;
		position: relative;
		top: -4px;
		left: -2px;
	}
	.header-logo-div img{
		max-width: 100%;
	}
	
	.bg-primary {
	    /* custom */
	    background-color: #333 !important;
	    height: 41px;
	    margin-top: 15px;
	}
	.footer > .container{
	    /*custom*/
		font-size: 13px;
		line-height: 40px;
	}
}
@media screen and (max-width: 550px){
	/* custom */
	.header-logo-div{
		/* custom */
		top: -4px;
	}
	.header-right{
		display: block;
		position: fixed;
		top: 0;
		right: 0;
	}
	.lang-btn {
		/* custom */
		width: 100% !important;
		position: relative;
		top: 32px;
  		padding: 0rem 0.6rem 0rem 1.0rem;
		vertical-align: -2px;
	}
	.lang-icon{
		width: 15px;
		height: 15px;
		margin-right: 2px;
	}	
	.lang-text{
		font-size: 10px;
		vertical-align: middle;
	}
	.header-left span {
		/* custom */
		font-size: 1.8rem;
	}
}
@media screen and (max-width: 350px){
	.header-logo-div-en{
		/* custom */
		display: inline-block;
		height: 100%;
		width: 160px;
		position: relative;
		top: 0px;
		left: -2px;
	}
	/* custom */
	.header-left span {
		font-size: 1.3rem;
	}	
}
