@charset "UTF-8";

::root {
	--main-clr: #1d2089;
	--sub-clr: #ffcb01;
	--bg-clr: #313131;
}

/**********************
* Common style for PC and SP
**********************/

/*
*    header
*/
header {
	background: #313131;
}

.header-wrap {
	display: flex;
	max-width: 1072px;
}

.menu-wrap {
	display: flex;
	max-width: 1072px;
}

header h1 {
	background: url(images/theme/head_title.png) no-repeat left center;
	/* 仮 */
	background-size: contain;
	height: 4rem;
	margin: .5rem 20px 0 1rem;
	flex-grow: 1;
}

.site-search form {
	background: #fff;
	border: 1px solid #ccc;
	padding: .2rem .5rem;
}

.site-search label {
	cursor: pointer;
}

header .root {
	display: flex;
	flex-wrap: wrap;
	align-self: center;
}

header .lang-switch {
	align-self: center;
	padding: 0 .8rem;
}

header .lang-switch a {
	color: #777;
	text-decoration: none !important;
	padding: .2rem .3rem;
}

header .lang-switch a.active {
	color: #ffcb01;
}

/*
*    nav
*/
nav ul {
	display: flex;
	justify-content: center;
}

nav ul li {
	flex-grow: 1;
}

nav ul li a {
	text-align: center;
	color: #d7d7d7;
	padding: .3rem .8rem;
	border-bottom: 2px solid transparent;
}

nav ul li a:hover {
	text-decoration: none;
	border-bottom-color: #fff;
}

/*
*    main
*/
.main-clr {
	color: #1d2089;
}

.sub-clr {
	color: #ffcb01;
}

section {
	padding: 1.5rem 1rem;
}

h2.top {
	font-size: 1.5rem;
	color: #292929;
	text-align: center;
	margin-bottom: 2rem;
}

h2.top span {
	color: #1d2089;
}

h2.top span::before {
	content: "／";
	color: #333;
	padding: 0 1.5rem;
}

h3.top {
	text-align: center;
	font-size: 1.2rem;
	position: relative;
	margin-bottom: 1.6rem!important;
}

h3.top::after {
	content: "";
	display: block;
	width: 3.5rem;
	border-top: 1px solid currentColor;
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
}

h2:not(.top) {
    padding: 4rem 1rem;
    color: #fff;
    font-size: 34px;
}
.sub-title {
    background: url(images/theme/project_main.png) no-repeat center center;
    background-size: cover;
}

h3:not(.top) {
    color: #173db5;
    font-size: 1.3rem;
    font-weight: 700;
}

h4:not(.top) {
    font-weight: 700;
    font-size: 1.1rem;
}
h5:not(.top) {
	margin-left: 10px;
}
main ul:not(.top) {
	margin-bottom: 1.3rem;
}
main li:not(.top) {
	margin-bottom: 1.3rem;
	margin-left: 20px;
}
.breadcrumb {
    padding: 1rem 1rem 1rem 0;
}

.breadcrumb li {
    display: inline-block;
	margin-bottom: 0 !important;
	margin-left: 0 !important;
}
.breadcrumb li:not(:last-child)::after {
    content: ">";
    padding: 0 .5rem;
}
.breadcrumb li:last-child {
	color: #081e90;
}

.main-img {
	background: url(images/theme/main_img.png) no-repeat center center;
	height: 501px;
	/* 仮 */
	background-size: cover;
}

.main-img section.centering {
	display: flex;
	justify-content: flex-end;
	padding: 4rem 1rem 2rem 1rem;
}

.main-img .dark-box {
	background: rgba(0, 0, 0, .4);
	color: #fff;
	/* padding: 2rem; */
	padding: 60px 80px;
	width: 893px;
	height: 355px;
	max-width: 80%;
}

.main-img .dark-box strong {
	font-size: 1.5rem;
}

.main-img .dark-box p {
	margin-top: 1rem;
	font-size: 1.2rem;
}

a.readmore {
	text-decoration: none !important;
	color: inherit;
	border-top: 1px solid currentColor;
	border-bottom: 1px solid currentColor;
	padding: .3rem 1.5rem .3rem .5rem;
	position: relative;
}

a.readmore::before {
	content: "";
	display: block;
	height: 1.5rem;
	width: 1.5rem;
	border-top: 1.5px solid currentColor;
	transform: rotate(45deg) translate(calc(50% - 50% * 1.41), 50%);
	position: absolute;
	top: -1px;
	left: 100%;
}

a.readmore::after {
	content: "";
	display: block;
	height: 1.5rem;
	width: 1.5rem;
	border-top: 1.5px solid currentColor;
	transform: rotate(-45deg) translate(calc(50% - 50% * 1.41), 50%);
	position: absolute;
	bottom: 0;
	left: calc(100% - 1px);
}

article.news {
	margin: 2rem 0;
}

.news-wrapper {
	border: 1px solid #ccc;
	padding: 1rem 1.5rem 3rem;
	position: relative;
}

ul.news li {
	border-bottom: 1px dashed #ccc;
	padding: .5rem;
}

span.tag {
	display: inline-block;
	border: 1px solid transparent;
	border-radius: .3rem;
	padding: 0 .8rem;
	margin: 0 1rem;
}

span.tag.tag-announce::before {
	content: "お知らせ";
}

span.tag.tag-announce {
	background: #ffcb01;
	color: #333;
}

span.tag.tag-event::before {
	content: "イベント";
}

span.tag.tag-event {
	background: #1d2089;
	color: #fff;
}

span.tag.tag-result::before {
	content: "研究成果";
}

span.tag.tag-result {
	background: #313131;
	color: #fff;
}
span.small {
	font-size: 14px;
}

span.entry-icon-new {
	border: 1px solid transparent;
	border-radius: 1rem;
	padding: 2px 0.8rem 2px;
	background-color: #ff6347;
	color: #fff;
}

span.entry-icon-new::before {
	content: "NEW!";
	font-size: 14pt;
}


a.to-archive {
	position: absolute;
	right: 1.5rem;
	bottom: .7rem;
	color: inherit;
}

a.to-archive::after {
	content: "\f35a";
	font-family: "Font Awesome 5 Free";
	margin-left: .5rem;
}

.col-wrapper-spbetween {
	display: flex;
	justify-content: space-between;
	margin-bottom: 2rem;
}

.col-wrapper-sparound {
	display: flex;
	justify-content: space-around;
}

.flex-break {
	flex-wrap: wrap;
}

a.project-main {
	display: block;
	height: 12.5rem;
	background: url(images/theme/project_main.png) no-repeat center center;
	/* 仮 */
	background-size: cover;
	color: #fff;
	text-decoration: none !important;
	text-align: center;
	font-size: 2.4rem;
	font-weight: bold;
	padding: 2rem 1rem;
	margin-bottom: 1.3rem;
}

a.project-sub {
	display: block;
	border: 1.2rem solid #899AAC;
	height: 10rem;
	width: 100%;
	max-width: 450px;
	background: url(images/theme/project_sub.png) no-repeat center center;
	/* 仮 */
	background-size: cover;
	color: #012868;
	text-decoration: none !important;
	text-align: center;
	font-size: 1.5rem;
	font-weight: bold;
	padding: 1rem 1rem;
	margin-bottom: 1.3rem;
}

.project-more{
	display: inline-block;
	font-size: 1.4rem;
	font-weight: normal;
	border: 1px solid #fff;
	padding: 0 3rem;
	border-radius: 1.4rem;
}

.project-more-sub{
	display: inline-block;
	font-size: 1.1rem;
	font-weight: normal;
	border: 1px solid #012868;
	padding: 0 2rem;
	border-radius: 1.1rem;
}

article.project {
	padding: 3rem 0;
	background: url(images/theme/bg-project.png) repeat center center;
	background-size: cover;
}

article.member {
	padding: 3rem 0;
	background: url(images/theme/bg-member.png) repeat;
	/* 仮 */
	background-size: 15px;
}

.member-list a {
	display: block;
	border: 1rem solid #08c97f;
	height: 10rem;
	width: 100%;
	max-width: 450px;
	background: #e8e8e8;
	color: inherit;
	margin: 0 .2rem;
	margin-bottom: 1.3rem;
}

.member-list a img {
	float: left;
	max-height: 100%;
}

.member-list a .affiliation {
	display: block;
	text-align: center;
	padding: .3rem 1rem;
}

.member-list a .name {
	display: block;
	text-align: center;
	padding: .3rem 1rem;
	font-weight: 700;
}

.search-result {
    list-style: decimal inside;
}

.search-result li {
    border: 2px solid #aaa;
    border-radius: .5rem;
    padding: .5rem 1rem;
    margin-bottom: 1.3rem;
}

.search-result a {
    font-size: 1.1rem;
    font-weight: 700;
}

.search-result .excerpt {
    color: #777;
    font-style: italic;
}
/*
*    footer
*/
a.to-top {
	position: fixed;
	right: 5vw;
	bottom: 3vh;
	z-index: 99999;
	display: block;
	height: 2rem;
	width: 2rem;
	background: #fff;
	color: #1d2089;
	border: 1px solid currentColor;
	border-radius: .3rem;
	text-decoration: none !important;
	text-align: center;

}

.banner.centering {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
}

.banner img {
	width: 100%;
	max-width: 200px;
	height: 60px;
	border: 1px solid #ccc;
	margin: 0 .3rem .2rem;
}

footer {
	background: url(images/theme/bg-footer.png) repeat center center;
	background-size: cover;
}

.foot-nav {
	display: flex;
	justify-content: center;
	padding: 2rem 1rem;
}

.foot-nav a {
	color: #fff;
	padding: .4rem 1rem;
}

.footer-logo {
	display: block;
	width: calc(100% - 3rem);
	max-width: 12rem;
	margin: auto;
	padding-top: 6rem;
	background: url(images/theme/foot_icon.png) no-repeat center center #325D85;
	background-size: 9rem auto;
}

.footer-title2 {
	display: block;
	width: calc(100% - 3rem);
	max-width: 500px;
	margin: auto;
	padding-top: 0rem;
	text-align: center;
	color: #fff;
	text-decoration: none !important;
	margin-top: 2rem;
}


.footer-title {
	display: block;
	width: calc(100% - 3rem);
	max-width: 500px;
	margin: auto;
	padding-top: 7rem;
	background: url(images/theme/foot_icon.png) no-repeat center top;
	/* 仮 */
	background-size: 9rem auto;
	text-align: center;
	color: #fff;
	text-decoration: none !important;
	margin-top: 2rem;
}

.mail {
	text-align: center;
	margin-bottom: 2rem;
}
.mail a {
	color: #fff;
	background: url(images/theme/mail_icon.png) no-repeat left center;
	padding: 0 0 0 1.5rem;
}
.mail a:hover {
	text-decoration: none;
}
.copyright {
	text-align: center;
	color: #fff;
	margin-bottom: 2rem;
}

/**********************
* PC only
**********************/
@media screen,
print and (min-width:960px) {}

/**********************
* SP
**********************/
@media only screen and (max-width:800px) {
	header {
		position: fixed;
		z-index: 9999;
		width: 100%;
		background: transparent;
        height: 4.5rem;
	}

	main {
		margin-top: 4.5rem;
	}

	header h1 {
		background-image: url(images/theme/head_title_sp.png);
		/* 仮 */
	}

	header .header-wrap {
		background: #313131;
		position: relative;
		z-index: 2;
	}

	nav {
		position: relative;
		transition: .2s linear;
		transform: translateY(-100%);
		box-shadow: 0px 0.1rem 0.3rem rgba(0, 0, 0, 0.2);
	}

	nav.active {
		transform: translateY(0);
	}

	nav ul {
		flex-direction: column;
		background: #222;
	}

	.site-search.pc {
		display: none;
	}

	.site-search form {
		display: flex;
	}

	.site-search input[type="text"] {
		flex-grow: 1;
	}

	.site-search label {
		padding: 0 .6rem;
	}

	header .root {
		align-self: stretch;
		background: #555;
	}

	.lang-switch a.active {
		display: none;
	}

	.lang-switch a:not(.active) {
		color: #fff;
		font-size: 1.5rem;
	}

	#toggle-nav {
		width: 4.5rem;
		color: #fff;
		cursor: pointer;
		position: relative;
	}

	#toggle-nav svg {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
	}

	.main-img .dark-box {
		max-width: 100%;
	}

	.foot-nav {
		display: none;
	}

}

article a[href^="http"]:after {
	font-family: "dashicons";
	content: "\f504";
}
article a[href*="riken.jp"]:after {
	font-family: "dashicons";
	content: "";
}

article a[href$="\.pdf"]:after {
  padding-left: 10px;
  display: inline-block;
  content: url("images/icon-pdf-01.png");
  vertical-align: middle;
}

article a[href$="\.docx?"]:after {
  padding-left: 10px;
  display: inline-block;
  content: url("images/icon-word-01.png");
  vertical-align: middle;
}

article a[href$="\.xlsx?"]:after {
  padding-left: 10px;
  display: inline-block;
  content: url("images/icon-excel-01.png");
  vertical-align: middle;
}

article a[href$="\.pptx?"]:after {
  padding-left: 10px;
  display: inline-block;
  content: url("images/icon-powerpoint-01.png");
  vertical-align: middle;
}


