cd@charset "utf-8";

.preload *, 
.preload *:before, 
.preload *:after {
	transition: none !important;
}

#mode {
	display: none;
}

/* FONTS */

html {
	font-size: 62.5%;

	-webkit-font-smoothing: subpixel-antialiased;
	-moz-osx-font-smoothing: unset;
	@media only screen and(-webkit-min-device-pixel-ratio: 2),(min-resolution: 2dppx) {
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
	}
}

body {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
	font-size: 1.6rem;
	line-height: 1.75;
	color: #3a3a3a;
}

h1, h2, h3, h4, h5, h6 {
	color: #052d5d;
}

img {
	display: inline-block;
	vertical-align: bottom;
}

p {
	text-align: justify;
	text-justify: inter-ideograph;
}

p.reg {
	text-indent: 1.0em;
}

p + p {
	margin-top: 1.75em;
}

.s8		{ font-size: 0.8rem !important; }
.s9		{ font-size: 0.9rem !important; }
.s10	{ font-size: 1.0rem !important; }
.s11	{ font-size: 1.1rem !important; }
.s12	{ font-size: 1.2rem !important; }
.s13	{ font-size: 1.3rem !important; }
.s14	{ font-size: 1.4rem !important; }
.s16	{ font-size: 1.6rem !important; }
.s18	{ font-size: 1.8rem !important; }
.s20	{ font-size: 2.0rem !important; }
.s22	{ font-size: 2.2rem !important; }
.s24	{ font-size: 2.4rem !important; }
.s28	{ font-size: 2.8rem !important; }
.s30	{ font-size: 3.0rem !important; }
.s32	{ font-size: 3.2rem !important; }
.s36	{ font-size: 3.6rem !important; }
.s40	{ font-size: 4.0rem !important; }

.normal	{ font-weight: normal; }
.bold	{ font-weight: 700; }
.slant	{ font-style: oblique; }
.italic {
	font-family: serif;
	font-style: italic;
	font-size: 110%;
}
.underline	{ text-decoration: underline; }
.marker-yellow	{ background: #fff000; }

/*
.lato	{ font-family: "Lato", sans-serif; }
.roboto	{ font-family: "Roboto", sans-serif; }
*/

.red	{ color: #f00; }
.cyan	{ color: #00a0e9; }
.mgnd, 
.magenda{ color: #e4007f; }
.yllw, 
.yellow	{ color: #fe0; }
.gray	{ color: #9a9a9a; }

.bg-red		{ background-color: #f00; }
.bg-cyan	{ background-color: #00a0e9; }
.bg-mgnd, 
.bg-magenda{ background-color: #e4007f; }
.bg-yllw, 
.bg-yellow	{ background-color: #fe0; }


.pos-stc { position: static; }
.pos-rel { position: relative; }
.pos-abs { position: absolute; }

span[class^="space"]
{ display:block; }

.space0		{ height:0; }
.space2		{ height:2px; }
.space3		{ height:3px; }
.space5		{ height:5px; }
.space10	{ height:10px; }
.space15	{ height:15px; }
.space20	{ height:20px; }
.space25	{ height:25px; }
.space30	{ height:30px; }
.space40	{ height:40px; }
.space50	{ height:50px; }
.space60	{ height:60px; }
.space70	{ height:70px; }
.space80	{ height:80px; }
.space90	{ height:90px; }
.space100	{ height:100px; }
.space110	{ height:110px; }
.space120	{ height:120px; }
.space200	{ height:200px; }

.is-show	{ display: block !important; }
.is-hide, 
.is-hidden	{ display: none; }

.left	{ text-align: left; }
.center	{ text-align: center; }
.right	{ text-align: right; }

.fL		{ float: left; }
.fR		{ float: right; }
.fNo	{ float: none; }
.fC		{ float: none; margin-left: auto; margin-right: auto; }
.clr	{ clear: both; }
.nobr, 
.nowrap	{ white-space: nowrap; }

.k-20	{ letter-spacing: -0.1em; }
.k-40	{ letter-spacing: -0.2em; }
.k-50	{ letter-spacing: -0.25em; }
.k-60	{ letter-spacing: -0.3em; }
.k-80	{ letter-spacing: -0.4em; }
.k-100	{ letter-spacing: -0.5em; }
.k-200	{ letter-spacing: -1.0em; }
.k-400	{ letter-spacing: -2.0em; }

#mode {
	position: fixed;
	top: 20px;
	left: 25px;
	width: 80px;
	padding: 2px 0;
	text-align: center;
	color: #fff;
	z-index: 1000000;
}


/**/

body {
	position: relative;
	display: flex;
	flex-direction: column;

	min-height: calc(100vh - 80px);
	margin: 0;
	padding-top: 80px;
	background: #fff;
}

a {
	color: #006ae2;
	text-decoration: none;
}

a, 
a * {
	transition: all 0.2s linear 0s;
}

a:hover {
	color: #00a0ff;
}

.wrapper {
	position: relative;
	width: 100%;
	max-width: 960px;
	margin-right: auto;
	margin-left: auto;
}

.wrapper-85-15 {
	display: flex;
	
}

.wrapper-85-15 > .wrapper-sub85 {
	width: 85%;
}

.wrapper-85-15 > .wrapper-sub15 {
	width: 15%;
}

.regular #body {
	margin-bottom: 60px;
}

.column2 {
	display: flex;
	justify-content: space-between;
}

.column2 > p {
	width: 44.081%;
	margin-top: 0;
	margin-bottom: 0;
}

p.indent1 {
	text-indent: 1.0em;
}

#topbar {
	position: fixed;
	top: 0;
	left: 0;

	display: flex;
	width: 100%;
	justify-content: space-between;
	align-items: center;
	background: #052d5d;
	z-index: 10000;
}

#topbar #logo {
	padding-left: 15px;
}

#topbar #logo img {
	width: 300px;
}

#topbar #lang {
	margin-left: auto;
}

#topbar #lang a {
	display: inline-block;
	margin-right: 5px;
	padding: 1.0em;
	font-size: 1.4rem;
	color: #fff;
	text-decoration: none;
}

#home > #topbar #lang a {
	margin-right: 15px;
	font-size: 1.6rem;
}

header {
	position: relative;
	background: #fff;
	box-shadow: 0 0px 10px rgba(0,0,0,0.20);
}

#home header {
	margin-bottom: 10px;
}

#sliderBox {
	position: relative;
	margin: 0;
	padding: 0;
	list-style: none;
	width: 100%;
	height: 398px;
/*	overflow: hidden;*/
}

#sliderBox .slide {
	position: relative;
	width: 100%;
	height: 398px;
	text-align: center;
}

#sliderBox .slide.active {
	display: block;
}

/*
.slide#s1 { background-image: url("../img/bg_home-1"); }
.slide#s2 { background-image: url("../img/bg_home-2"); }
.slide#s3 { background-image: url("../img/bg_home-3"); }
*/

#sliderBox .slide p {
	text-align: center;
}

header .msg {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 20000;
	width: 100%;
	text-align: center;
}


.slide > img {
	width: 100%;
	height: 398px;
	object-fit: cover;
}

#sliderBox .btn {
	display: inline-block;
	padding: 8px;
	position: absolute;
	top: 50%;
	z-index: 5000;
	transform: translateY(-50%);
	font-size: 3.2rem;
	color: #fff;
	cursor: pointer;
}

#sliderBox .btn.prev { left: 15px; }
#sliderBox .btn.next { right: 15px; }

.en .slide#s1 img {
	margin-top: 30px;	/*英語コピーなし*/
	width: 418px;
}


.slick-arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	display: inline-block;
	width: 40px;
	height: 40px;
	z-index: 1000;
	text-align: center;
	cursor: pointer;
	opacity: 0.5;
}

.slick-arrow:before {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	font-size: 2.8rem;
	line-height: 32px;
	color: #fff;
	text-shadow: 0 0 3px rgba(0,0,0,0.3);
}

.slick-arrow:hover {
	opacity: 0.75;
}

#sliderBox .slick-arrow.prev-arrow {
	left: 10px;
}

.slick-arrow.prev-arrow:before {
	content: "\f0a8" /*arrow-circle-left*/;
}

#sliderBox .slick-arrow.next-arrow {
	right: 10px;
}

.slick-arrow.next-arrow:before {
	content: "\f0a9" /*arrow-circle-right*/;
}

.slide-dots {
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: 12px;

	display: flex;
	align-items: center;
	margin: 0;
	padding: 0;
	list-style: none;
}

.slide-dots > li {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-self: center;
}

.slide-dots button {
	position: relative;
	width: 24px;
	height: 24px;
	overflow: hidden;
	margin: 0 2px;
	padding: 0;
	text-indent: 200%;
	cursor: pointer;
	outline: none;
	opacity: 1.0;
	border: none;
	background: none;
}

.slide-dots button:before {
	position: absolute;
	top: 10px;
	left: 10px;
	content: "1";
	width: 5px;
	height: 5px;
	overflow: hidden;
	border: 2px solid #fff;
	box-shadow: 0 0 3px rgba(0,0,0,0.6);
	border-radius: 50%;
	background: #fff;
	
}

.slide-dots .slick-active button:before {
	background: #666;
}

.slide-dots button:hover {
	opacity: 0.9;
}




#nav, 
nav {
/*
	display: inline-block;
	margin: 0 auto;
*/
	width: 100%;
	margin: 0 auto;
}

header > #nav, 
header > nav {
	display: block;
	width: 100%;
	background: #fff;
}

#nav ul, 
nav ul {
	display: flex;
/*
	justify-content: center;
	align-items: center;
	margin: 0 auto;
	padding: 0;
	list-style: none;
*/
	justify-content: space-around;
	align-items: center;
	width: 100%;
	max-width: 680px;
	margin: 0 0 0 auto;
	padding: 0;
	list-style: none;
}

header > #nav ul, 
header > nav ul {
	width: 960px;
	margin: 0 auto;
}

header #nav ul > li, 
header nav ul > li {
	display: inline-block;
}

header #nav a, 
header nav a {
	display: inline-block;
	padding: 17px 5px 15px;
	font-size: 1.4rem;
	color: #fff;
	text-decoration: none;
	white-space: nowrap;
}

header > #nav a, 
header > nav a {
	padding: 17px 25px 15px;
	font-size: 1.6rem;
	color: #3a3a3a;
}

header #nav a.c, 
header nav a.c {
	color: #fe0;
}

header #nav a:hover, 
header nav a:hover {
	color: #09f;
}

#nav a#nav--gllry, 
nav a#nav--gllry, 
#nav a#nav--links, 
nav a#nav--links 
/* nav a#forStudents */
{
	display: none;
}

#home header > #nav a#forStudents, 
#home header > nav a#forStudents {
	display: inline-block;
	margin-left: 25px;
	padding: 6px 19px 6px;
	color: #fff;
	background: #e4007f;
	border-radius: 4px;
	white-space: nowrap;
}

#home header > #nav a#forStudents:hover, 
#home header > nav a#forStudents:hover {
	opacity: 0.75;
}










a.seenext {
	display: block;
	width: 238px;
	height: 38px;
	margin: 1.75em auto 0;
	padding-left: 16px;
	text-decoration: none;
	text-align: center;
	line-height: 40px;
	font-size: 1.3rem;
	color: #799ab7;
	border-radius: 5px;
	border: 1px solid #799ab7;
	background-color: rgba(121, 154, 183, 0.06);
}

a.seenext:after {
	content: "\f105";
	font-family: "Font Awesome 5 Pro";
	float: right;
	margin: -1px 8px 0 0;
	font-size: 1.8rem;
	font-weight: 900;
}

a.seenext:hover {
	color: #fff;
	border-color: #0072d8;
	background: #0072d8;
}

#home .wrapper {
	text-align: center;
}

#home .wrapper h2 {
	margin: 0;
	padding: 0 0 22px;
	line-height: 1.25;
	font-size: 3.2rem;
	color: #052d5d;
}




#home #news {
	padding: 50px 0;
	background: #fff;
}

#home #news .wrapper {
	display: flex;
	justify-content: space-between;
}

#home #news .wrapper > div:first-of-type {
	width: 660px;
}

.list-links {
	margin: 0;
	padding: 0;
	list-style: none;
	text-align: left;
	border-top: 1px solid #c2c7cc;
}

.list-links > li {
	position: relative;
	padding: 11px 0 9px;
	border-bottom: 1px solid #c2c7cc;
}

.list-links > li > a, 
.list-links > li.nolink > a, 
.list-links > li > .nolink {
	display: flex;
	padding: 2px 0;
	align-items: center;
	line-height: 1.4;
}

.list-links > li > a {
	text-decoration: none;
	color: #3a3a3a;
}

.list-links > li > a:after {
	content: "\f105";
	font-family: "Font Awesome 5 Pro";
	float: right;
	margin: -1px 0 0 auto;
	padding-left: 8px;
	font-size: 1.6rem;
	font-weight: 900;
	color: #09f;
}


.list-links > li > a:hover, 
.list-links > li > a:hover * {
	color: #09f !important;
}

.list-links .date {
	display: inline-block;
	font-size: 1.4rem;
	flex: 0 0 90px;
}

.list-links .label {
	display: inline-block;
	margin-top: -1px;
	padding: 1px 0;
	font-size: 1.1rem;
	text-align: center;
	flex: 0 0 88px;
}

.list-links .label {
	color: #fff;
	background: #003673;
}

.list-links .label.prize {
	color: #fff;
	background: #f3b100;
}

.list-links .label.daiji {
	color: #fff;
	background: #e4007f;
}

.list-links .label.green {
	color: #fff;
	background: #77dd00;
}

.list-links > li > a:hover .label {
	color: #fff !important;
}

.list-links .text {
	flex: 0 1 auto;
	padding-left: 16px;
}

.list-links .siteurl {
	padding-left: 3.0em;
	font-size: 1.4rem;
	color: #8a8a8a;
}

.list-links--B {
	margin: 0 150px 0 0;
	padding: 0;
	list-style: none;
	text-align: left;
	border-top: 1px solid #c2c7cc;
}

.list-links--B > li {
	position: relative;
	display: flex;
	align-items: center;
	padding: 13px 0 11px;
	line-height: 1.65;
	border-bottom: 1px solid #c2c7cc;
}

.list-links--B .date {
	display: inline-block;
	font-size: 1.4rem;
	flex: 0 0 140px;
	letter-spacing: 0.04em;
}

.list-links--B .text {
	flex: 0 1 auto;
	padding-left: 16px;
}

.list-links--B a {
	text-decoration: none;
	color: #3a3a3a;
	border-bottom: 1px dotted #09f;
}

.list-beside {
	position: absolute;
	right: 0;
	top: 0;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 1.3rem;
/*	border-top: 1px solid #eaeaea;*/
	background:#fafafa;
}

.list-beside > li {
	border-bottom: 1px solid #fff;
}


.list-beside a {
	display: block;
	padding: 6px 1.4em;
	text-align: center;
	text-decoration: none;
	color: #b6b6b6;
}

.list-beside a:hover {
	color: #09f;
}
.list-beside .c {
}
.list-beside .c a {
	padding: 5px calc(1.4em - 1px);
	color: #2a2a2a;
	border: 1px solid #f2f2f2;
	background: #fff;
}

#pubyearlist .list-beside {
}



#home #news ul {
	width: 100%;
	max-width: 660px;
	text-align: left;
	font-size: 1.5rem;
}

#home #publications {
	padding: 68px 0;
	background-color: #fafafa;
	background-image: url("../img/bg_white-gra.png"), url("../img/bg_publications.jpg");
	background-repeat: no-repeat, no-repeat;
	background-position:  left top, center top;
	background-size: 100% 100%, cover;
}

#home #publications ul {
	width: 100%;
	max-width: 800px;
	margin: 0 auto;
}

#publications .date {
	flex: 0 0 130px;
}

#publications .text {
	flex: 0 1 auto;
}

#body #publications ul > li > a {
	text-decoration: none;
	color: #3a3a3a;
}



#home #research {
	padding: 68px 0;
	background-color: #00659f;
	background-image: url("../img/bg_white-080.png"), url("../img/bg_home_research.jpg");
	background-repeat: repeat-x, no-repeat;
	background-position:  center bottom, center bottom;
	background-size: auto, cover;
}

#home #research h2 {
	color: #fff;
	text-shadow: 0 0 5px rgba(0,0,0,1.0);
}

#home #research .slider {
	max-width: 840px;
	margin: 0 auto 20px;
	padding: 0;
	list-style: none;
	display: flex;
	justify-content: space-between;
}

#home #research .slider li {
	width: 240px;
	height: 180px;
	margin: 0 20px;
	text-align: center;
	background: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
}

#home #research .slider .slick-slide img {
	display: inline-block;
	max-width: 240px;
	max-height: 180px;
	object-fit: contain;
}

#sliderBox2 .slick-arrow.prev-arrow {
	left: -32px;
}

#sliderBox2 .slick-arrow.next-arrow {
	right: -32px;
}



#mm {
	display: inline-block;
	width: 80px;
	height: 80px;
	text-align: center;
	line-height: 80px;
	color: #fff;
	font-size: 2.8rem;
	cursor: pointer;
}

.regular #pagetitle {
	width: 100%;
	height: 180px;
	margin-bottom: 60px;
	text-align: center;
}

.regular #pagetitle, 
#pagetitle h1 {
	color: #fff !important;
}

.regular #pagetitle {
	background: url("../img/bg_facilities.jpg") center 41% no-repeat;
	background-size: cover;
}

.regular#for-students #pagetitle {
	background: url("../img/bg_for-students.jpg") center center no-repeat;
	background-size: cover;
}

 
#publications #pagetitle {
	color: #052d5d !important;
	background: url("../img/bg_publications.jpg") center 12% no-repeat;
	background-size: cover;
}

.regular #pagetitle h1 {
	display: inline-block;
	margin: 0;
	padding: 64px 0 12px;
	font-size: 3.2rem;
	font-weight: 900;
	line-height: 1.1;
	letter-spacing: 0.06em;
	text-shadow: 0 0 2px rgba(0,0,0,0.2);
	border-bottom: 1px solid #fff;
}

.regular#publications #pagetitle h1 {
	padding-left: 1.0em;
	padding-right: 1.0em;
	color: #052d5d !important;
	border-color: #052d5d;
}

.regular #pagetitle .en {
	padding: 2px 0 0;
	letter-spacing: 0.2em;
}


.list-members {
	margin: 0;
	padding: 0;
	list-style: none;
	border-top: 1px dotted #d5dbe2;
}

[lang="en"] .list-members {
	margin: 0 0;
}

.list-members > li {
	display: flex;
	align-items: center;
	padding: 4px 0;
	border-bottom: 1px dotted #d5dbe2;
}

.list-members .class {
	width: 15%;
	font-size: 1.4rem;
}

.list-members .member {
	width: 55%;
}

.list-members .tegami {
	width: 30%;
	font-size: 1.3rem;
}

[lang="en"] .list-members .class {
	width: 35%;
	font-size: 1.4rem;
}

[lang="en"] .list-members .member {
	width: 40%;
}

[lang="en"] .list-members .tegami {
	width: 25%;
	font-size: 1.3rem;
}

[lang="ja"] .list-members + p {
	padding-right: 100px;
}

.list-members-pub {
	margin: 0;
	padding: 0 0 0.6em;
	list-style: none;
	border-top: 1px dotted #c2c7cc;
}

.list-members-pub .list-h4 {
}

.list-members-pub li {
	display: flex;
	padding: 3px 0;
	border-bottom: 1px dotted #c2c7cc;
}

.list-members-pub .class {
	width: 40%;
	padding-top: 5px;
	font-size: 1.4rem;
	line-height: 1.4;
}

.list-members-pub ul {
	display: block;
	width: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
}

.list-members-pub li li {
	align-items: center;
	border-color: #d5dbe2;
}

.list-members-pub li li:first-child {
	padding-top: 0;
}

.list-members-pub li li:last-child {
	padding-bottom: 0;
	border-bottom: none;
}

.list-members-pub .member {
	width: 65%;
}

.list-members-pub .degree, 
.list-members-pub .period {
	text-align: center;
	font-size: 1.3rem;
}

.list-members-pub .degree { width: 25%; }
.list-members-pub .period { width: 10%; }

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

.list-h4 > li {
	margin: 0;
	padding: 0 0 0 2.0em;
}

.list-h4 > li > .h {
	float: left;
	display: inline-block;
	margin-left: -2.0em;
}


#results h2 {
	margin-top: 2.2em;
	padding-top: 1.6em;
	border-top: 1px solid #a2a2a2;
}

#results #publist h2 {
	margin-top: 0.8em;
	padding-top: 0;
	border-top: none;
}

#results #publist h2, 
#results h3 {
	margin-top: 1.8em;
	line-height: 1.4;
}

#publist h2 {
	font-size: 1.872rem;
}

#publist ul {
	margin: 0;
	padding: 0 0 0 1.6em;
	list-style: none;
	line-height: 1.32;
	font-size: 1.3rem;
}

#publist ul > li:before {
	content: "";
	position: absolute;
	top: 0.5em;
	left: -1.2em;
	display: block;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	overflow: hidden;
	background: #6a6a6a;
}

#publist ul > li {
	position: relative;
	padding: 0 0 0.9em;
}

#publist .AuthorName, 
#publist .Title {
	display: block;
}

#publist .AuthorName {
	margin-bottom: 0.28em;
	font-size: 1.4rem;
}

#publist .Title {
	margin-bottom: 0.23em;
	font-weight: bold;
	font-size: 1.6rem;
	line-height: 1.26;
}

#publist .BookTitle,
#publist .VolumeNumberPage, 
#publist .Publisher, 
#publist .ConferenceName, 
#publist .ConferencePlace,
#publist .YearMonthAbbrev {
	color: #7a7a7a;
}

.list-pubs {
	margin: 0;
	padding: 0;
	list-style: none;
	line-height: 1.46;
}

.list-pubs > li {
	position: relative;
	clear: both;
	margin: 0.9em 0 0;
	padding: 0 0 0 2.6em;
}

.list-pubs > li > .h {
	float: left;
	display: inline-block;
	width: 2.0em;
	margin-left: -2.6em;
	text-align: center;
}

.list-pubs > li > .f {
	width: 100%;
	margin-left: -2.6em;
}


.list-pubs.list-dot > li:before {
	content: "";
	position: absolute;
	top: 0.6em;
	left: 0.6em;
	display: block;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	overflow: hidden;
	background: #6a6a6a;
}

#results .act p + p {
	margin-top: 0.0em;
}

#for-students h2 {
	padding: 10px 12px;
	font-size: 2.0rem;
	font-weight: nor mal;
	line-height: 1.1;
	color: #052d5d;
	border: 1px solid #7a8a9d;
	border-radius: 3px;
}

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

.qa > li {
	padding: 2.0em 0 0;
}

.qa > li > div {
	display: flex;
	margin: 0.5em 0;
}

.qa > li > div:first-of-type {
	font-weight: bold;
	color: #052d5d;
}

.qa .h {
	display: inline-block;
	width: 40px;
	height: 24px;
	overflow: hidden;
	text-align: center;
	font-weight: bold;
	font-size: 1.8rem;
	line-height: 24px;
	border-radius: 3px;
	flex: 0 0 40px;
	font-family: sans-serif;
}

.qa .qa_q .h {
	color: #fff;
	background: #345a88;
}

.qa .qa_a .h {
	color: #fff;
	background: #052d5d;
}

.qa p {
	margin: 0px 0 0 0.5em;
	line-height: 1.6;
}

[class*="cwr"] {
	margin-left: auto !important;
	margin-right: auto !important;
}

.cwr25 { width: 25%; }
.cwr50 { width: 50%; }
.cwr70 { width: 70%; }
.cwr75 { width: 75%; }
.cwr80 { width: 80%; }


.w025 { width: 25%; }
.w040 { width: 40%; }
.w045 { width: 45%; }
.w050 { width: 50%; }
.w060 { width: 60%; }
.w070 { width: 70%; }
.w075 { width: 75%; }
.w080 { width: 80%; }



#facility h2 {
	padding: 10px 12px;
	font-size: 2.0rem;
	font-weight: nor mal;
	line-height: 1.1;
	color: #052d5d;
	border: 1px solid #7a8a9d;
	border-radius: 3px;
}

.facility {
	margin: 0 80px;
	padding: 0;
	list-style: none;
/*	border-bottom: 1px dotted #c2c7cc;*/
}

.facility > li {
	clear: both;
	padding: 20px 0 20px 337px;
	border-bottom: 1px dotted #c2c7cc;
}

.facility > li:after {
	content: "";
	display: block;
	clear: both;
	height: 0;
}

.facility .pict {
	float: left;
	width: 320px;
	margin: 0 0 0 -337px;
}

.facility .pict img {
	/*max-width: 400px;*/
	width: 320px;
}

.facility h3 {
	margin: 0;
	padding: 0;
}

.facility p {
	margin: 0;
	padding: 0;
}

.mask {
	display: inline-block;
	overflow: hidden;
/*
	background: #f2f2f2;
	border: 1px solid #ccc;
*/
}

.caption {
	margin-top: 8px;
	text-align: center;
	font-size: 85%;
	line-height: 1.4;
}

.research-detail .caption {
/*	font-size: 105%;*/
	font-weight: bold;
}

.pict + .pict {
	margin-top: 50px;
}

h1.bT {
	margin-top: 80px;
	padding-top: 80px;
	border-top: 2px solid #052d5d;
}









/*-------------------------------------------------------------------------------------------

	RESEARCH

*/

.research {
	width: 100%;
	margin-top: 70px;
	padding-top: 40px;
	border-top: 1px solid #052d5d;
}

.research h2 {
/*
	margin: 80px 0 0;
	padding: 2px 16px;
	border: 1px solid #052d5d;
	border-radius: 3px;
*/
	padding: 8px 0;
	line-height: 1.2;
	font-size: 2.8rem;
	color: #052d5d;
}

.research p + p {
	margin-top: 0;
}

.research .pict.fL { margin: 0 40px 20px 0; }
.research .pict.fR {
	margin: 0 0 20px 40px;
	text-align: right;
}

.research .linkbox {
	clear: both;
	text-align: center;
	margin-top: 34px;
}

.research .linkbox a {
	display: inline-block;
	padding: 8px 24px;
	font-size: 1.5rem;
	border-radius: 22px;
/*
	border: 1px solid #06f;
*/
	color: #fff;
	background: #006ae2;
}

.research .linkbox a:hover {
	background: #09f;
}

.research#Membrane .pict {
}

.research#SOI .pict {
	margin-top: 16px;
}

.research#optical_circuit .pict {
	margin-top: 16px;
}

.research#LDTR .pict {
	margin-top: 22px;
}

.research#PWB .mask {
	height: 290px;
}

.research#Plasmon .mask {
	height: 260px;
}

.research#DR .pict {
	margin-top: 12px;
	margin-bottom: 28px;
}

.research#wire .mask {
	width: 400px;
}

.research#wire .pict {
	margin-left: -50px;
}

.research-detail h2 {
	margin-top: 80px;
}

.research-detail .pict.fL { margin-right: 40px; }
.research-detail .pict.fR {
	margin-left: 40px;
	text-align: right;
}

.research-detail .pict.fR.center {
	text-align: center;
}

.w080.fC + .pict.center { margin-top: 34px; }
.pict.center + .w080.fC { margin-top: 34px; }

.list-contents {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 1.4rem;
}

.list-contents li {
	margin: 2px;
}

.list-contents a {
	display: inline-block;
	margin: 0;
	padding: 4px 12px;
	border: 1px solid #dadada;
	border-radius: 2px;
}

/*
.list-contents li:first-child {
	border-left: 1px solid #cacaca;
}
*/

.list-contents a:hover {
	background: #09f;
	border-color: #09f;
	color: #fff;
}




















/*-------------------------------------------------------------------------------------------

	FOOTER

*/

.regular #access, 
#home footer {
	margin-top: auto;
}

#access {
	padding: 24px 0 10px;
	text-align: center;
	border-top: 1px solid #b6b6b6;
}

#home #access {
	padding: 60px 0 0;
	border-top: none;
}

#access h3 {
	margin: 0 !important;
	padding: 0 0 12px;
	font-size: 1.8rem;
	line-height: 1.1;
}

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

#access p {
	margin: 0 auto;
	padding: 0;
	font-size: 1.4rem;
}

#access p:first-of-type {
	display: inline-block;
	padding-bottom: 10px;
	border-bottom: 1px dotted #b6b6b6;
}

#access p:first-of-type > span {
	display: inline-block;
	margin-left: 1.2em;
}
#access p:first-of-type > span:first-of-type {
	margin-left: 0;
}

#access .fas {
	color: #052d5d;
}

#access .fa-map-marker-alt {
	font-size: 120%;
}

#access .fa-envelope {
	font-size: 113.333%;
	transform: translateY(1px);
}

#access .fa-phone {
	font-size: 106.667%;
}

#access p.rooms {
	margin-top: 0;
	padding: 12px 0 0;
	font-size: 1.2rem;
	line-height: 1.6;
	color: #5a5a5a;
	text-align: center;
}

#gmap {
	margin: 12px 0 -8px;
	padding: 0;
	border: 0;
}

footer {
	height: 100px;
	text-align: center;
	background: #052d5d;
}

footer .totop {
	position: fixed;
	bottom: 12px;
	right: 0;
	z-index: 9800;

	display: block;
	width: 64px;
	height: 64px;
	text-align: center;
	font-size: 2.2rem;
	line-height: 64px;
	color: #fff;
	background-color: rgba(5, 45, 93, 0.2);
	cursor: pointer;
	transition: background-color 0.2s ease-out 0s;
}

footer .totop:hover {
	background-color: rgba(5, 45, 93, 1.0);
}

#copyright {
	margin-top: 41px;
	font-size: 1.2rem;
	letter-spacing: 0.06em;
	color: #fff;
}


.tegami .otgm1:after {
	content: "[ ]";
}

.tegami .titech:after {
	content: ".titech.ac.jp";
}

.tegami .isct:after {
  content: ".isct.ac.jp";
}

.list-photos {
	display: flex;
	flex-wrap: wrap;
	margin: 0;
	padding: 0;
	list-style: none;
}

.list-photos > li {
/*
	box-shadow: 0 3px 10px rgba(0,0,0,0.1);
*/
	border: 1px solid #e2e2e2;
	background: #fff;
}

.list-photos > li img {
	object-fit: cover;
}

.list-photos.col4 > li { margin: 9px; }
.list-photos.col5 > li { margin: 5px; }

.list-photos.col4 > li img {
	width: 220px;
	height: 165px;
}

.list-photos.col5 > li img {
	width: 180px;
	height: 135px;
}

#gallery h2 .date {
	display: inline-block;
	margin-left: 1.0em;
	font-size: 1.5rem;
}

.footNav {
	margin-top: 60px;
	text-align: center;
}

.footNav > a {
	display: inline-block;
	padding: 8px 22px;
	font-size: 1.5rem;
	line-height: 1.2;
	border: 1px solid #006ae2;
	border-radius: 24px;
}

.footNav > a:before {
	content: "\f053";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	font-size: 2.4rem;
	display: inline-block;
	margin-right: 8px;
	vertical-align: middle;
}


.footNav > a:hover {
	color: #00a0ff;
	border-color: #00a0ff;
}



