@font-face {
	font-family: "Source Code Pro";
	font-display: swap;
	src: url('../fonts/Source_Code_Pro/static/SourceCodePro-Medium.ttf') format(truetype);
	font-weight: normal;
}

@font-face {
	font-family: "M PLUS 1 Code";
	font-display: swap;
	src: url('../fonts/M_PLUS_1_Code/MPLUS1Code-VariableFont_wght.ttf') format(truetype);
}

body{
	font-family:  "Source Code Pro", "M PLUS 1 Code",sans-serif, monospace;
	background-color: #FBF8E2;
}

small, .small,.contact_info small{
	font-size:70%;
	display: block;
	line-height: 1.2rem;
}

.text_green{
	color: #66CC00 ;
}

.text_pink{
	color: #FF6699 ;
}

.text_navy{
	color: #333366;
}

.text_1-1{
	font-size: 1.1rem;
}

.icon-close2:before{
	color: #FF6699;
}

.font-weight-300 {
	font-weight: 300 !important;
  }

.font-weight-500 {
	font-weight: 500 !important;
  }

.font-weight-700 {
	font-weight: 700 !important;
  }

.site-nav-wrap li.active a{
	color: #FF6699 !important;
	font-weight: 400;
}

.site-nav-wrap li .dropdown{
	margin-top: 1rem;
	margin-left: 1rem;
}

.site-mobile-menu .site-nav-wrap a{
	color: #333366;
}

.site-navbar .site-navigation .site-menu > li > a{
	margin-left: 12px;
    margin-right: 12px;
}

.site-navigation ul li a {
	position: relative;
  }
  /*ホバーエフェクト*/
  .site-navigation ul li a::after {
	/*マークのスタイル*/
	position: absolute;
	content: "";
	display: block;
	width: 10px;
	height: 10px;
	background-color:rgba(255, 102, 153, 0.5);
	border-radius: 50%;
	top: calc(50% - 5px);
	left: -16px;
	/*不透明度0で非表示*/
	opacity: 0;
	/*アニメーションの速度設定*/
	-webkit-transition: all 0.6s ease;
	transition: all 0.6s ease;
  }
  .site-navigation ul li a:hover::after {
	/*不透明度1で表示*/
	opacity: 1;
  }
  

/*language*/
  .dropdown-item {
	display: block;
	width: 100%;
	padding: 0 !important;
	margin-left: 0.5rem !important;
	clear: both;
	font-weight: 400;
	color: #333366;
	text-align: inherit;
	white-space: nowrap;
	background-color: transparent;
	border: 0;
  }
  
  .dropdown-item:hover, .dropdown-item:focus {
	color: #333366;
	text-decoration: none;
	background-color:rgba(0, 0, 0, 0) !important;
  }
  
  .dropdown-item.active, .dropdown-item:active {
	color: #fff;
	text-decoration: none;
	background-color: #66CC00;
  }
  
  .dropdown-item.disabled, .dropdown-item:disabled {
	color: #6c757d;
	pointer-events: none;
	background-color: transparent;
  }
  
  .dropdown-menu.show {
	display: block;
  }
  
  .dropdown-header {
	display: block;
	padding: 0.5rem 1.5rem;
	margin-bottom: 0;
	font-size: 0.875rem;
	color: #6c757d;
	white-space: nowrap;
  }
  
  .dropdown-item-text {
	display: block;
	padding: 0.25rem 1.5rem;
	color: #212529;
  }

.dropdown-menu {
	position: absolute;
	top: 100%;
	left: 0;
	z-index: 1000;
	display: none;
	float: left;
	min-width: 10rem;
	padding: 0.5rem 0;
	margin: 0.125rem 0 0;
	font-size: 0.8rem;
	color: #66CC00;
	text-align: left;
	list-style: none;
	background-color:rgba(0, 0, 0, 0);
	background-clip: padding-box;
	border: 0px;
	border-radius: 0.25rem;
  }

.dropdown button{
	background-color:rgba(255, 102, 153, 0.25);
	color: #FF6699;
	border: 0px;
}

.dropdown button:hover{
	background-color:rgba(255, 102, 153, 0.5);
	color: #ffffff;
	border: 0px;
}

.dropdown-toggle:after{
	margin-left: 0px;
}

.dropdown button:not(:disabled):not(.disabled).active, .dropdown button:not(:disabled):not(.disabled):active, .show>.dropdown button{
	background-color:rgba(255, 102, 153, 0.75);
	color: #ffffff;
	border: 0px;
}

.btn-secondary:not(:disabled):not(.disabled).active, .btn-secondary:not(:disabled):not(.disabled):active, .show>.btn-secondary.dropdown-toggle{
	background-color:rgba(255, 102, 153, 0.75);
	color: #ffffff;
	border: 0px;
}

.btn-group-sm>.btn, .btn-sm{
	font-size: 0.8rem;
}

.kerning{
	letter-spacing: -0.025em;
}

.site-logo img{
	width: 90%;
	transition: 200ms ease-in-out;
}

.site-logo a > img{
	position: absolute;
	right: 0;
	top: 0;
	width: 90%;
	
}
.site-logo a:hover .logo3{
	position: absolute;
	right: -5px;
	top: 0;
	transition: 300ms ease-in-out;
	
}

/**
.site-logo{
	background: url(../images/logo3.svg);
	background-repeat: no-repeat;
}



.site-logo a:hover .site-logo{
	background-position: right -2px;
	background-repeat: no-repeat;
}
**/

.site-section-cover h1{
	font-size: 2rem;
	color: #66CC00 !important;
	font-weight: 700 !important;
}

.site-section-cover .page-image{
	position: absolute;
	bottom:0;
	right:7%;
	width:60%;
	height: auto;
}

.site-section-cover .home-image{
	position: absolute;
	bottom:0;
	right:7%;
	width:60%;
	height: auto;
}

/* PCとSPで画像切り替え */
.pc { display: block !important; }
.sp { display: none !important; }

.text_waku{
	padding: 40px;
	color: #9C856A !important;
	background-color:#F6EFC1 ;
	border-radius: 8px;
	font-size: 1rem;
	font-weight: 400 !important;
}

.komidashi{
	color: #FF6699 ;
	font-weight: 500 !important;
	font-size: 1.6rem;
}

.learn-more {
	text-transform: uppercase;
	font-size: 14px;
	font-weight: 600;
	position: relative;
	color: #FF6699;
  }

  .learn-more:hover {
	background-color: rgba(255, 102, 153, 0.175);
	color: #FF6699;
	border-radius: 6px;
  }

.read-more{
text-align: right;
}

.footer{
	background-color:#F6EFC1 ;
	color: #FF6699;
	font-weight: 600;
}

.icon-twitter{
	color: #55acee;
	line-height: 1;
}

.home_research {
	background-color:rgba(0, 0, 0, 0);
	padding: 1rem;
	margin-bottom: 30px;
	position: relative;
	overflow: hidden;
	border: 2px solid transparent;
	transition: .3s all ease;
  }

  .home_research p img{
	  width: 50%;
  }
  
  .home_research .heading {
	position: relative;
	font-size: 1.3rem;
	color: #66CC00;
	padding-bottom: 10px;
	font-weight: 500;
  }
  
  .home_research .wrap-icon {
	color: rgba(102, 204, 0, 0.2);
	font-size: 7rem;
	position: absolute;
	left: 0;
	top: 50%;
	transition: .3s all ease;
	transform: translate(-50%, -50%);
  }
  
  .home_research p {
	font-size: 1rem;
	line-height: 1.3;
	color: #9C856A;
	font-weight: 400;
  }
  /*
  .home_research:hover, .home_research.active {
	background-color: #f6efc1;
  }
  
  .home_research:hover .wrap-icon, .home_research.active .wrap-icon {
	transform: translate(10%, -50%);
  }
  
  .testimony-29101 .image {
	width: 40%;
	background-size: cover;
	background-position: center center;
  }
*/

div#news + p{
	margin:0;
	text-align: right;
}

/*Twitter*/
.twitter-timeline{
	flex: 0 0 33.33333%;
	position: relative;
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
}




.about_text h2.heading {
	font-size: 1.3rem;
	color: #66CC00;
	font-weight: 500 !important;
	margin-top: 50px !important;
  }

.about_text h3.heading {
	font-size: 1rem;
	color: #333366;
	font-weight: 400 !important;
	}

  .about_text p {
	font-size: 1rem;
	line-height: 1.5;
	color: #9C856A;
	font-weight: 400;
	padding-right: 3rem;
	text-align: left;
  }

  .about_text h2.links {
	font-size: 1.3rem;
	color: #66CC00;
	font-weight: 500 !important;
	
  }

  .about-us ul li .col-lg-2{
	text-align: right;
}

  .about-us img {
	width: 80%;
  }

  .about-us ul {
	list-style: none;
	margin: 0;
	padding: 0;
  }

  .about_text ul{
	list-style: none;
	margin: 0;
	padding: 0;
  }

  .about_text a{
	color: #66CC00;
  } 

  .about_text a:hover{
	background-color: rgba(255, 102, 153, 0.175);
	border-radius: 4px;
  }

  /*member*/

  .member{
	  margin: 0;
	  padding: 0;
  }

  .member li{
	margin-bottom: 30px;
	padding: 0;
}

  .member .heading {
	font-size: 18px;
	color: #FF6699;
	padding-bottom: 10px;
	font-weight: 600 !important;
  }

  .member img {
	width: 100%;
	border-radius: 50%;
  }

  .member h3{
	font-size: 18px;	  
	color: #333366;
	font-weight: 400 !important;
  }

  .member p{
	font-size: 14px;	  
	color: #9C856A;
	font-weight: 400 !important;
	padding:0;
  }
/*
  .member dl dt{
	display: block;
	font-size: 18px;	  
	color: #333366;
	font-weight: 400 !important;
  }

  .member dl dt a{
	font-size: 18px;	  
	color: #333366;
	font-weight: 400 !important;
  }

  .member dl dt a:hover{
	background-color: rgba(255, 102, 153, 0.175);
	border-radius: 4px;
  }

  .member dl dd{
	font-size: 14px;	  
	color: #9C856A;
	font-weight: 400 !important;
  }*/

  .member dl dd{
	font-size: 18px;	  
	color: #333366;
	font-weight: 400 !important;
  }

  .member dl dd a{
	font-size: 18px;	  
	color: #333366;
	font-weight: 400 !important;
  }

  .member dl dd a:hover{
	background-color: rgba(255, 102, 153, 0.175);
	border-radius: 4px;
  }

  .member dl dt{
	font-size: 14px;	  
	color: #9C856A;
	font-weight: 400 !important;
  }

/*news*/
.news-post dt{
	float: left;
	font-weight: 400;
	color: #66CC00 ;
}
.news-post dd{
	margin-left: 110px;
	margin-bottom: 50px;
}

.news-post dd a{
	color: #9C856A;
	font-size: 1rem;
}

.news-post dd a:hover{
	background: rgba(255, 102, 153, 0.175);
	border-radius: 4px;
}

.news-post dd:last-child{
	margin-left: 110px;
	margin-bottom: 0px;
}



div.news div dl dt{
	float: left;
	font-weight: 400;
	color: #66CC00 ;
}
div.news div dl dd{
	margin-left: 110px;
	margin-bottom: 0px;
}

div.news div {
	margin-bottom: 2rem;
}

div.news :last-child{
	margin-bottom: 0px;
}

div.news div dl dd a{
	color: #9C856A;
	font-size: 1rem;
}

div.news div dl dd a:hover{
	background: rgba(255, 102, 153, 0.175);
	border-radius: 4px;
}

div.news dl{
	
	margin-bottom: 0px;
}

div.mb-5 div div#information.news{
	overflow:auto;
	height:25rem;
}

div.mb-5 div.col-md-8 div#information.news{
	height:auto;
}


/*publication*/
.publication-post {
	background:rgba(0, 0, 0, 0);
	border-radius: 4px;
	transition: .3s all ease;
	position: relative;
	height: auto;
  }

  .publication-post_text h2 {
	line-height: 1.5rem;
  }  
  .publication-post h2 a:hover {
	background-color: rgba(255, 102, 153, 0.175);
  }

  .publication-link:hover {
	background-color: rgba(255, 102, 153, 0.175);
  }

  .publication-post .publication-post_thumbnail img {
	width: 100% !important;
  }
  
  .publication-post h2 {
	font-size: 20px;
  }
  
  .publication-post *:last-child {
	margin-bottom: 0;
  }

  .publication-post_contents{
	  margin-bottom: 4rem;
  }

  .publication-post_contents h2 a{
	color: #333366 ;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1rem;
	}

  .publication-date {
	color: #FF6699;
  }
  
  .journal {
	color: #66CC00;
	margin-left: 1rem;
  }


  
  .scrollspy {
	position: relative;
	height: 80vh;
	margin-top: 0.5rem;
	overflow: auto;
  }


.nav-pills .nav-link {
	border-radius: 0.25rem;
  }
  
  .nav-pills .nav-link.active,
  .nav-pills .show > .nav-link {
	color: #FF6699 !important;
	background-color: rgba(255, 102, 153, 0.175) !important;
  }

  a.nav-link {
	  color: #66CC00 !important;
  }


.box{
	margin-left:0;
	margin-right: 0;
}

.f-year{
	font-weight: 400 !important;
	color: #333366;
	padding: 1rem;
}

/*contact*/

  .contact_btn{
	color: #FF6699;
    background-color: #333366 !important;
	border-radius: 6px;
  }

  .contact_btn:hover{
	color: #66CC00;
  }

  .contact_info p{
	font-size: 1.2rem;	  
	color: #333366;
	font-weight: 600 !important;
  }

  .contact_info span{
  font-size: 1rem;	  
  color: #9C856A;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  }

		.contact_info a:hover{
			background: rgba(255, 102, 153, 0.175);
			border-radius: 4px;
			color: #9C856A;
		}


.btn-admin {
    color: #FF6699;
    background-color: rgba(255, 102, 153, 0.25);
}


.contact_title {
  padding-top: 5rem !important;
	 }
	
		.contact_title h1 {
			font-size: 2rem;
			color: #66CC00 !important;
			font-weight: 700 !important;
			}


 .contact_text {
			font-size: 1rem;
			line-height: 1.5;
			color: #66CC00 !important;
			font-weight: 400;
			padding-right: 3rem;
			text-align: left;
			}

			.contact-image{
				position: relative;
				z-index: -1;
	}
		.contact-image img{
					position: absolute;
					bottom:0;
					right:0;
					width:60%;
					height: auto;
		}






/*smartphone*/

@media only screen and (max-width:768px) {

	.btn-group-sm>.btn, .btn-sm{
		font-size: 1rem;
	}
	
	.site-section-cover .page-image{
		bottom:0;
		right:7%;
		width:120%;
		height: auto;
	}

	.site-section-cover .home-image{
		width: 85%;
	}

	/* PCとSPで画像切り替え */
	.pc { display: none !important; }
    .sp { display: block !important; }

	.col-lg-8 h1,h2.komidashi{
		padding-left: 1rem;
	}



	.text_waku{
		padding:25px;
	}


	.dropdown-item {
		padding: 0 !important;
		margin: 0.5rem !important;
		font-size: 1rem;
			}

	.twitter-timeline{
		flex: none;
		padding-top:50px;
	}

	.about-us ul {
		padding: 0 1rem;
			}

	.about_text ul {
		padding: 0 1rem;
			}

	.about-us ul li .col-lg-2{
		text-align: center;
	}


	.about-us img {
		width: 50%;
	  }

	.about_text p {
		padding: 0;
		text-align: left;
		}

		.about_text h2.heading {
			margin-top: 50px !important;
				}

	div.news div dl dt{
		float: none;
		font-weight:700;
		font-size: 1.1rem;
	}
	div.news div dl dd{
		margin-left: 0px;
		margin-top: 1rem;
		margin-bottom: 0px;
		font-size: 1.1rem;
	}

	div.news div {
		margin-bottom: 3rem;
	}

	.member div{
		margin: 0 auto;
		width: 90%;
	}


	.publication-post {
		padding: 0;
	  }



	form#mail_form{
		width: 100%;
	}

	form .col-md-12{
		margin-bottom: 1.5rem;
	}

	form dd{
		margin-bottom: 0;
	}
	

	form#mail_form dl dd{
		padding: 0;
	}

	form#mail_form p#form_submit{
		padding: 0;
		margin: 1rem 0;
	}

	form#mail_form dl dd.row span.error_blank{
		margin-left:2rem !important;
	}

	
	.contact-image{
		height: 10rem;
}

	.contact-image img{
		position: absolute;
		bottom:0;
		right:7%;
		width:120%;
		height: auto;
}




	}/*media screen*/

