/* @import url(https://fonts.googleapis.com/css?family=Lato:300italic,700italic,300,700); */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;600;700&family=PT+Serif&display=swap'); /* custom */
html {
 	font-size: 62.5%;
}
body {
  font-family:"Noto Sans JP", "NotoSansJP-Regular", sans-serif; /* custom */
  color:#333; /* custom */
  font-weight:500; /* custom */
  padding-top:105px; /* custom */
  padding-bottom: 0px; /* custom */
  font-size: 15px; /* custom */
  /*以下常にページ下部にフッターを置くために指定*/ /* custom */
  display: flex;
  flex-flow: column;
  min-height: 100vh;
}

.container { /* custom */
  flex: 1 !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: #31b5a5; /* custom */
  font-weight:500; /* custom */
  text-decoration: none; /* custom */
}
a:hover { /* custom */
	color: #31b5a5;
	text-decoration: underline;

}
a:focus { /* custom */
  color:#31b5a5;
  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: 105px; /* custom */
    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: 105px; /* custom */
  }

  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:#2A9B8E; /* custom */
	font-size: 1.7rem;
	font-weight: 600; /* custom */
	color: #FFF; /* custom */
}
.search-top {
	width: 100%;
	background:#2A9B8E; /* custom */
	padding: 8px;
	font-size: 1.7rem;
	font-weight: 600; /* custom */
	color: #FFF; /* 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:#2A9B8E; /* custom */
	padding: 8px;
	font-size: 1.7rem;
	font-weight: 600; /* custom */
	color: #FFF; /* custom */
}
.senmon-bottom {
	padding: 8px;
}
.senmon-link {
	text-align:right;
}
.k01-gakubu {
	font-size: 1.7rem;
}

/** k02 */
.k02-top {
	background:#2A9B8E; /* custom */
	font-size: 16px;
	width: 100%;
	margin-bottom: 20px;
	padding: 8px;
	color:#FFF; /* custom */
	font-weight: 600; /* custom */
}
.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;
	
}

.info th { /* custom */
	background-color: #F4F4F4 !important;
	color: #333;
}

.info { /* custom */
	background-color: #F4F4F4 !important;
	border-bottom: 2px solid #2A9B8E !important;
	border-top: 0 !important; 
	color: #2A9B8E;
}

/**	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: #333; /* custom */
	font-size: 150%;
	font-weight: bold;
	line-height: 1; /* custom */
}

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

.name-header {
	margin: 0;
	padding: 0;
	border: 1px solid #ddd;
	min-height: 50px !important;
}
.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);
}

@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: 77px; /* custom */
	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;
}

@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: 127px; /* custom */
	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-table {
	margin-bottom: 0px;
}

.boxA  {
	width: 40px;
	float: left;
}

.boxB  {
	float: left;
}

.boxC  {
	padding-left: 40px;
}

@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: 120px;
}
.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: rgb(29, 105, 96); /* custom */
}

.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;
}

.gyoseki-table td.table-active { /* custom */
	background-color: #FFF;
}

.table-striped>tbody>tr:nth-of-type(odd) { /* custom */
    background-color: #fafafa;
}

.dropdown-menu>li>a:hover, .dropdown-menu>li>a:focus { /* custom */
    text-decoration: none;
    background-color: #2A9B8E;
    opacity: 100%;
}
.dropdown-menu { /* custom */
    font-size: 15px;
    text-decoration: none !important;
}
.dropdown-menu { /* custom */
    font-size: 15px;
}
.nav>li>a, .dropdown-menu>li>a { /* custom */
    text-decoration: none !important;
    font-weight: 500;
    opacity: 100%;
}

/**	k04 */
.k04-item {
	width: 200px;
	border-left: 3px solid #2A9B8E !important; /* custom */
	border-bottom: 1px solid #dddddd !important; /* custom */
}
.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 */
  background-image: none;
  background-color: #FFF !important;
  border-top: 5px solid #57998d !important;
  border-bottom: none !important;
  height: 77px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  padding: 0px;
}
.navbar-link { /* custom */
  color:#000000 !important;
}

.header{
	width: 100%;
	display: inline-block;
}
.header-left{
	display: inline-block;
	float: left;
	font-size: 2rem;
	/*padding-top: 5px*/  /* custom */
}
.header-logo{ /* custom */
  width: 210px;
}
.header-left span { /* custom */
    color: #00A384 !important;
    font-weight: 700;
    font-size: 2.4rem;
    margin-left: 20px;
    vertical-align: -5px;
}
.header-right{
	display: inline-block;
	float: right;
}
/* 言語切り替えボタン */
.lang-btn {
  display: inline-block;
  padding: 0.4rem 0.6rem 0.4rem 1.0rem;
  background-color: #FFF; /* custom */
  background-image: none; /* custom */
  border: 1px #2A9B8E solid; /* custom */
  border-radius: 8px; /* custom */
  color: #fff;
  cursor: pointer;
  text-decoration: none; /* 文字の下線を消す */
  width: 100px;
  margin-top: 8px; /* custom */
}
/* 言語切り替えボタンクリック時 */
.lang-btn:active {
  box-shadow: none;
}
.lang-btn:hover,
.lang-btn:focus 
{
  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:#2A9B8E; /* custom */
  margin-right: 3px;
  vertical-align: middle;
}

/** foot ***/
.bg-primary { /* custom */
  background-color: #1a1a1a !important;
  height: 38px;
  margin-top: 40px;
}

footer .copy-right { /* custom */
  color: #FFF;
  line-height: 38px;
  font-size: 1rem;
  font-weight: 400;
  margin: 0 auto;
  font-family: 'Lato-Bold', sans-serif;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 767px){
	.k02-name {
		width: 89%;
	}
} 

@media screen and (max-width: 768px){ /* custom */
	.lang-btn {
		margin-top:4px;
	}
	.header-logo {
		width: 180px;
	}
	html[lang="en"] .header-left span {
		font-size: 1.6rem;
	}
	html[lang="en"] .header-left span {
		font-size: clamp(0.8rem, 2.5vw, 1.6rem);
	}
}
@media screen and (max-width: 550px){ /* custom */
	html[lang="en"] .lang-btn {
		padding: 0.1rem 0.3rem 0.1rem 0.4rem;
		width: 80px;
		position: absolute;
		right: 8px;
		top: 0px;
		margin-top:3px;
	}
	html[lang="en"] .lang-icon{
		width: 20px;
		height: 20px;
		vertical-align: -3px;
	}
	html[lang="en"] .lang-text {
		font-size: 1.2rem;
		vertical-align: 2px;
	}
	html[lang="en"] .header-left span {
		font-size: clamp(0.8rem, 3vw, 1.6rem);
	}
	.header-left span {
		margin-left: 10px;
	}
}
@media screen and (max-width: 500px){ /* custom */
	.lang-btn {
		padding: 0.1rem 0.3rem 0.1rem 0.4rem;
		width: 80px;
		position: absolute;
		right: 8px;
		top: 0px;
		margin-top:3px;
	}
	.lang-icon{
		width: 20px;
		height: 20px;
		vertical-align: -3px;
	}
	.lang-text {
		font-size: 1.2rem;
		vertical-align: 2px;
	}
	.header-left span {
		font-size: 1.6rem;
	}
}

#footer-top-close {
	height:		34px;
	width: 80%;
	text-align:	center;
	margin-right: auto;
    margin-left: auto;
}

#footer-top-link {
	height:		34px;
	width: 80%;
	text-align:	right;
	margin-right: auto;
    margin-left: auto;
}