/*----------------------------------------------------------------------------
******************************************************************************
default
主にページレイアウトを指定
最重要クラスの指定
******************************************************************************
----------------------------------------------------------------------------*/

body {
	margin : 0;
	padding : 0;

	background : #ffffff url(../../images/body_bg.jpg) repeat-x;
}
body , h1 , h2 , h4 , h4 , h5 , h6 , td , th , p , div , input , pre , ul , ol {
	font-family : "Noto Sans JP", "Roboto",  "Hiragino kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Osaka, sans-serif;
	font-size : 13px;
	font-weight : normal;
	line-height : 1.4em;

	color : #333333;

	line-break : strict;
	voice-family : "\"}\"";
	voice-family : inherit;
}
p {
	padding : 5px;
}
a {
	overflow : hidden;
}
a:link {
	text-decoration : none;

	color : #196bc7;
}/*通常時のリンク設定*/
a:visited {
	text-decoration : none;

	color : #196bc7;
}/*クリック後のリンク設定*/
a:hover {
	text-decoration : underline;

	color : #196bc7;
}/*マウスオーバー時のリンク設定*/
a:active {
	text-decoration : none;

	color : #196bc7;
}/*クリック時のリンク設定*/
strong {
	font-weight : bold;
}
/*----------------------------------------------------------------------------
******************************************************************************
cssハック
******************************************************************************
----------------------------------------------------------------------------*/
.clearfix:after {
	display : block;
	visibility : hidden;
	clear : both;

	height : 0;

	content : ".";
}
/* for IE 7*/
.clearfix {
	display : inline-block;

	min-height : 1%;
}
/* Hides from IE-mac */
* html .clearfix {
	height : 1%;
}
/* End hide from IE-mac */
.clearfix {
	display : block;
}
.crr {
	font-size : 0;
	line-height : 0;

	clear : both;

	margin : 0;
	padding : 0;
}
/*----------------------------------------------------------------------------
******************************************************************************
frame 横幅スクロール禁止
******************************************************************************
-------------------------------------------------------------------------
html {
overflow-x: hidden;
}---*/

/*----------------------------------------------------------------------------
******************************************************************************
複数セレクタ
******************************************************************************
----------------------------------------------------------------------------*/

/*----------------------------------------------------------------------------
******************************************************************************
wrap(背景ラップ用)
******************************************************************************
----------------------------------------------------------------------------*/

#wrap {
	margin-right : auto;
	margin-left : auto;

	background : url(../../images/wrap_bg.png) repeat-y;
}
/*----------------------------------------------------------------------------
******************************************************************************
** header
******************************************************************************
----------------------------------------------------------------------------*/
.hd-bg {
	z-index : 2;

	border-top : 4px solid #1ca6a6;
	background-color : #ffffff;
}
.hd {
	position : relative;

	display : flex;
	flex-direction : column;
	justify-content : space-between;

	margin : 15px auto 0;
}
.hd__ttl {
	font-size : 1.3rem;
	line-height : 1.2;

	display : block;
	flex-shrink : 0;
	order : 2;
;

	padding-bottom : 15px;
	padding-left : 5px;
}

.hd__link {
	text-decoration : none;

	color : #243e73!important;
}

.hd__logo {
	width : 100%;
	height : auto;
}

.hd__labname {
	font-size : 1.8rem;

	display : block;
}

.hd__enttl {
	font-size : 0.85rem;
	font-weight : normal;

	display : block;
}

.hd-nav {
	display : flex;
	justify-content : flex-end;
	order : 1;
}

/*----------------------------------------------------------------------------
******************************************************************************
** sub nav
******************************************************************************
----------------------------------------------------------------------------*/
.sub-nav {
	display : flex;
}

.sub-nav__item {
	position : relative;;
}

.sub-nav__link {
	font-weight : bold;
	font-style : 0.9rem;

	position : relative;

	padding-left : 20px;

	text-decoration : none;

	color : #404040!important;
}


.sub-nav__link--language {
	margin-right : 15px;
	padding-right : 35px;

	border-right : 1px solid #bfbfbf;
}

.sub-nav__link:before {
	position : absolute;
	top : 0;
	bottom : 0;
	left : 0;

	display : block;

	margin : auto 0;

	content : "";
}

.sub-nav__link--language:before {
	width : 15px;
	height : 15px;

	background : url(../../images/icon/language.png);
}

.sub-nav__link--language:after {
	position : absolute;
	top : 0;
	right : 15px;
	bottom : 0;

	display : block;

	width : 6px;
	height : 6px;
	margin : auto 0;

	content : "";
	transform : rotate(45deg);

	border-right : solid 2px #2c2c2c;
	border-bottom : solid 2px #2c2c2c;
}

.sub-nav__child {
	position : absolute;
	z-index : 9998;

	width : 100%;
	padding : 5px 0;

	transition : all ease 0.3s;
	transform : scale(1, 0);
	transform-origin : top ;

	opacity : 0;
	background : #f2f2f2;
}

.sub-nav__item--parent:hover .sub-nav__child {
	transform : scale(1, 1);
	transform-origin : bottom top;

	opacity : 1;
}

.sub-nav__child li {
	position : relative;

	padding : 5px 10px;

	transition : all ease 0.3s;
}

.sub-nav__child li a {
	position : relative;

	padding-left : 15px;

	text-decoration : none!important;

	color : #666666 ;
}

.sub-nav__child li a:after {
	position : absolute;
	top : 0;
	bottom : 0;
	left : 0;

	display : block;

	width : 6px;
	height : 6px;
	margin : auto 0;

	content : "";
	transform : rotate(45deg);

	border-top : solid 2px #858585;
	border-right : solid 2px #858585;
}


.sub-nav__link--access:before {
	left : 5px;

	width : 10px;
	height : 15px;

	background : url(../../images/icon/access.png);
}
/*----------------------------------------------------------------------------
******************************************************************************
menu
******************************************************************************
----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
******************************************************************************
menu
******************************************************************************
----------------------------------------------------------------------------*/
.nav-list > li > a::before , .nav-list > li > a::after , .nav-list__link--current::before , .nav-list__link--current::after {
	position : absolute;
	z-index : -1;

	content : "";

	background : #0b4040;
}

.nav-list > li > a , .nav-list > li > a::after {
	-webkit-transition : all 0.3s;
	   -moz-transition : all 0.3s;
	     -o-transition : all 0.3s;
	        transition : all 0.3s;

	opacity : 1 !important;
}

.nav-list > li > a::after {
	top : 0;
	left : 0;

	width : 0;
	height : 100%;
}

.nav-list > li:hover > a {
	opacity : 1 !important;
	color : #ffffff;
}

.nav-list__link--current:after , .nav-list > li > a:hover:after {
	width : 100%!important;
}

.nav {
	position : fixed;
	z-index : 100;
	top : 0;
	right : -100%;

	overflow-x : none;
	overflow-y : auto;

	width : 100%;
	height : calc(100% + 500px);
	padding-bottom : 500px;

	transition : All 0.5s ease;

	color : #ffffff;
	background : rgb(28 166 166 / 85%);
}
.nav-list > li {
	border-bottom : 1px solid rgba(0, 0, 0, 0.15);
}

.nav-list a {
	font-size : 1.14rem;
	font-weight : bold;

	position : relative;

	display : block;
	display : flex;
	align-items : flex-end;

	padding : 1em 1em;

	text-decoration : none !important;

	color : #ffffff !important;
}

.nav-list a img {
	display : none;
}

.nav-list li svg {
	width : 40px;
	margin-right : 10px;
}

.nav-list li svg path {
	fill : #ffffff !important;
}

.nav-child__ttl {
	display : none;
}

.nav-clist__link {
	padding-left : 40px!important;

	transition : all ease 0.3s;

	background : #147373;
}

.nav-clist__link:hover , .nav-clist__link--current {
	position : relative;
}
.nav-clist__link--current:before {
	font-size : 0.8rem;

	position : absolute;
	top : 50%;
	left : 1.2rem;

	content : "▶";
	transform : translateY(-55%);

	color : #ffffff;
}


.sp_nav_open {
	right : 0 !important;
}
.sp_nav_trigger {
	position : fixed !important;
	z-index : 1000;
	top : 60px;
	right : 15px;

	width : 36px;
	height : 24px;
	margin-top : -5px;

	cursor : pointer;
}
.sp_nav_trigger span {
	position : absolute;
	left : 0;

	display : inline-block;

	box-sizing : border-box;
;
	width : 100%;
	height : 4px;

	transition : all 0.4s;

	border-radius : 4px;
	background-color : #000000;
}
.sp_nav_trigger span:nth-of-type(1) {
	top : 0;
}
.sp_nav_trigger span:nth-of-type(2) {
	top : 10px;
}
.sp_nav_trigger span:nth-of-type(3) {
	bottom : 0;
}
.sp_nav_trigger::after {
	font-size : 10px;

	position : absolute;
	bottom : -20px;
	left : 0;

	display : block;

	width : 100%;
	padding-top : 20px;

	content : "MENU";
	transition : all 0.4s;
;
	text-align : center;
	text-decoration : none;

	color : #000000;
}
.sp_nav_trigger.active::after {
	bottom : -25px;

	content : "CLOSE";

	color : #ffffff;
}
.sp_nav_trigger.active span:nth-of-type(1) {
	transform : translateY(10px) rotate(-45deg);

	background : #ffffff;
}
.sp_nav_trigger.active span:nth-of-type(2) {
	opacity : 0;
	background : #ffffff;
}
.sp_nav_trigger.active span:nth-of-type(3) {
	transform : translateY(-10px) rotate(45deg);

	background : #ffffff;
}



/*----------------------------------------------------------------------------
******************************************************************************
** footer
******************************************************************************
----------------------------------------------------------------------------*/
.ft-bg {
	background : #d9d9d9;
}
.ft {
	display : flex;
	flex-direction : column;

	padding : 30px 10px;
}

.ft__data {
	order : 2;
}

.ft__ttl {
	font-size : 1.3rem;
	line-height : 1.2;

	display : block;
	flex-shrink : 0;

	margin-bottom : 50px;
}

.ft__link {
	text-decoration : none;

	color : #243e73!important;
}

.ft__logo {
	width : 100%;
	height : auto;
}

.ft__labname {
	font-size : 1.8rem;

	display : block;

	margin-bottom : 10px;
}

.ft__enttl {
	font-size : 0.85rem;
	font-weight : normal;

	display : block;
}

.ft__copy {
	font-size : 10px;

	text-align : center;

	color : #404040;
}

.ft__sitemap {
	display : flex;
	flex-grow : 1;
	flex-wrap : wrap;
}

.ft__sitemap > li {
	margin-right : 15px;
	margin-bottom : 10px;
}

.ft__sitemap > li a {
	transition : all ease 0.3s;
	text-decoration : none !important;
}

.ft__sitemap > li a.current , .ft__sitemap > li a:hover {
	color : #1ca6a6!important;
}


.ft__sitemap > li > a {
	color : #404040 !important;
}

.ft__sitemap > li > ul {
	margin-top : 10px;
}

.ft__sitemap > li > ul > li {
	position : relative;

	margin-bottom : 10px;
	padding-left : 10px;
}

.ft__sitemap > li > ul > li:before {
	position : absolute;
	top : 0;
	bottom : 0;
	left : 0;

	display : block;

	width : 4px;
	height : 1px;
	margin : auto 0;

	content : "";

	background : #858585;
}

.ft__sitemap > li > ul > li a {
	color : #666666 !important;
}
/*----------------------------------------------------------------------------
******************************************************************************
** pagetop
******************************************************************************
----------------------------------------------------------------------------*/
.pt {
	position : fixed;
	right : 5px;
	bottom : 5px;

	width : 50px;
	height : 50px;

	cursor : pointer;

	background : #1ca6a6;
}
.pt__btn {
	position : relative;

	display : block;

	width : 50px;
	height : 50px;

	text-decoration : none;
}
.pt__btn::before {
	position : absolute;
	top : 10px;
	right : 0;
	bottom : 0;
	left : 0;

	display : block;

	width : 15px;
	height : 15px;
	margin : auto;

	content : "";
	transform : rotate(45deg);

	border-top : solid 5px #ffffff;
	border-left : solid 5px #ffffff;
}
/*----------------------------------------------------------------------------
******************************************************************************
** index
******************************************************************************
----------------------------------------------------------------------------*/

.index-slider__img {
	display : block;

	margin : 0 auto;
}

.index-main {
	width : 100%;
}

.fine_bubbles-bg {
	width : 100%;
	padding : 60px 0 180px;

	background : url(../../images/background/Fine_Bubbles.jpg) 100% no-repeat #f9f9f9;

	clip-path : polygon(0 1%, 100% 0, 100% 100%, 0 90%);
}

.fine_bubbles {
	width : 100%;
	margin : 0 auto;
}

.fine_bubbles-card {
	position : relative;
}

.fine-bubbles-card__img {
	max-width : 100%;
	height : auto;
}

.fine-bubbles-card__con {
	font-size : 1.1rem;
	line-height : 1.8;

	position : absolute;
	top : 15%;
	right : 0;

	width : 80%;
	min-height : 300px;
	padding : 20px;

	background : #ffffff;
}

.fine-bubbles-card__ttl {
	font-size : 1.5rem;

	position : relative;

	margin-bottom : 5px;
	padding-top : 10px;
}

.fine-bubbles-card__ttl:before {
	position : absolute;
	top : 0;
	left : 0;

	width : 50px;
	height : 2px;

	content : "";

	background : #1ca6a6;
}


.more-btn {
	font-weight : bold;

	position : relative;

	display : inline-block;

	margin-bottom : 20px;
	padding : 5px 30px 5px 20px;

	transition : all ease 0.3s;
	text-decoration : none!important;

	color : #2b448c!important;
	border : 1px solid #2b448c;
}

.more-btn::before {
	position : absolute;
	top : 0;
	right : 12px;
	bottom : 0;

	display : block;

	width : 10px;
	height : 1px;
	margin : auto 0;

	content : "";
	transition : all ease 0.3s;

	background : #243e73;
}
.more-btn::after {
	position : absolute;
	top : 0;
	right : 12px;
	bottom : 0;

	display : block;

	width : 4px;
	height : 4px;
	margin : auto 0;

	content : "";
	transition : all ease 0.3s;
	-webkit-transform : rotate(45deg);
	        transform : rotate(45deg);

	border-top : 1px solid #243e73;
	border-right : 1px solid #243e73;
}

.more-btn:hover:before , .more-btn:hover:after {
	right : 7px;
}

.quick-access-bg {
	position : relative;

	margin-top : -60px;
	padding : 80px 0px;

	clip-path : polygon(0 1%, 100% 9%, 100% 100%, 0 91%);
}

.quick-access-bg:before {
	position : fixed;
	z-index : -1;
	top : 0;

	width : 100%;
	height : 100vh;

	content : "";

	background-image : url(../../images/background/quick-access.jpg);
	background-position-x : 75%;
	background-size : cover;
}


.quick-access {
	width : 100%;
	margin : 0 auto;
	padding:0 10px;
}

.quick-access {
	display : flex;
	flex-wrap : wrap;
	justify-content : space-between;
}

.quick-access__card {
	width : calc(100% / 2 - 10px);
	margin-bottom : 20px;

	transition : all ease 0.5s;

	box-shadow : 4px 5px 5px rgb(0 0 0 / 20%);
}

.quick-access__card:hover {
	transform : scale(1.05);
}
.quick-access__link {
	text-decoration : none!important;
}

.quick-access__img {
	display : flex;
	align-items : center;

	height : 150px;
	padding : 30px;

	background : #ffffff;
}

.quick-access__icon {
	display : block;

	margin : 0 auto;
}

.quick-access__ttl {
	font-size : 1.3rem;

	position : relative;

	padding : 10px 0;

	text-align : center;

	color : #404040;
	background : #f2f2f2;
}

.quick-access__ttl::before {
	position : absolute;
	top : 0;
	right : 9px;
	bottom : 0;

	display : block;

	width : 10px;
	height : 2px;
	margin : auto 0;

	content : "";

	background : #243e73;
}
.quick-access__ttl::after {
	position : absolute;
	top : 0;
	right : 9px;
	bottom : 0;

	display : block;

	width : 4px;
	height : 4px;
	margin : auto 0;

	content : "";
	-webkit-transform : rotate(45deg);
	        transform : rotate(45deg);

	border-top : 2px solid #243e73;
	border-right : 2px solid #243e73;
}

.index-news-bg {
	z-index : 1;

	width : 100%;
	margin-top : -70px;
	padding-top : 70px;
	padding-bottom : 100px;

	background : url(../../images/background/dot.png) top left repeat-y #f9f9f9;
}

.index-news__headline {
	font-size : 1.8rem;

	position : relative;

	margin-bottom : 30px;
	padding-top : 28px;
}

.index-news__headline:before {
	position : absolute;
	top : 0;
	left : 0;

	width : 50px;
	height : 2px;

	content : "";

	background : #1ca6a6;
}
.index-news__contens {
	overflow : auto;

	width : 100%;
	max-height : 500px;
	padding : 0 5px;
}

.index-news__item {
	margin-bottom : 15px;
	padding-bottom : 15px;

	border-bottom : 1px solid #d9d9d9;
}

.index-news__elem {
	display : flex;

	margin-bottom : 10px;
}

.index-news__date {
	margin-right : 10px;
}

.index-news__cat {
	font-size : 0.8rem;
	font-weight : bold;

	position : relative;

	padding : 2px 10px 2px 25px;

	color : #ffffff;
}

.index-news__cat:before {
	position : absolute;
	top : 0;
	bottom : 0;
	left : 5px;

	display : block;

	width : 14px;
	height : 14px;
	margin : auto 0;

	content : "";

	background-repeat : no-repeat !important;
}

.index-news__cat--international-conf {
	background : #af73bf;
}
.index-news__cat--domestic-conf {
	background : #df8b9b;
}
.index-news__cat--seminars {
	background : #67aedf;
}
.index-news__cat--publication {
	background : #52689a;
}
.index-news__cat--third-graders {
	background : #7ed0d9;
}
.index-news__cat--media {
	background : #b5d991;
}
.index-news__cat--international {
	background : #f2aa6b;
}
.index-news__cat--award {
	background : #f2ca50;
}

.index-news__cat--international-conf:before {
	background : url(../../images/icon/international-conf.png);
}
.index-news__cat--domestic-conf:before {
	background : url(../../images/icon/domestic-conf.png);
}
.index-news__cat--seminars:before {
	background : url(../../images/icon/seminars.png);
}
.index-news__cat--publication:before {
	background : url(../../images/icon/publication.png);
}
.index-news__cat--third-graders:before {
	background : url(../../images/icon/third-graders.png);
}
.index-news__cat--media:before {
	background : url(../../images/icon/media.png);
}
.index-news__cat--international:before {
	background : url(../../images/icon/international.png);
}
.index-news__cat--award:before {
	background : url(../../images/icon/award.png);
}

.index-news__ttl {
	font-size : 1.1rem;
	font-weight : bold;

	margin-bottom : 10px;
}

.index-news__ttl a {
	transition : all ease 0.3s;

	color : #191919;
}
.index-news__ttl a:hover {
	opacity : 0.7;
}

.index-news__new {
	font-size : 0.9em;
	font-weight : bold;

	display : inline-block;

	margin-left : 0.3em;

	color : #cc0000;
}
.index-news__new:before {
	content : "NEW";
}
/*----------------------------------------------------------------------------
******************************************************************************
** style
******************************************************************************
----------------------------------------------------------------------------*/
.mcon {
	height : 100%;
	padding-bottom : 30px;

	word-wrap : break-word;

	background : url(../../images/background/dot.png) repeat-y #f9f9f9;
}
.mcon a img:hover {
	-webkit-transition : all 0.3s ease;
	        transition : all 0.3s ease;

	opacity : 0.8;
}

.page-ttl-bg {
	margin-bottom : 30px;
	padding : 20px 10px;

	background : #83caca;
}

.mcon h1 {
	font-size : 1.8rem;

	position : relative;

	margin : auto;
	padding-top : 15px;

	color : #ffffff;
}

.mcon h1 span {
	font-size : 0.85rem;
	font-weight : normal;

	display : block;
}

.mcon h1:before {
	position : absolute;
	top : 0;
	left : 0;

	width : 50px;
	height : 2px;

	content : "";

	background : #ffffff;
}
.mcon h2 {
	font-size : 1.3rem;

	position : relative;

	margin-bottom : 20px;
	padding-left : 20px;

	color : #1ca6a6;
}

.mcon h2:before {
	position : absolute;
	top : 0;
	bottom : 0;
	left : 0;

	display : block;

	width : 10px;
	height : 1px;
	margin : auto 0;

	content : "";

	background : linear-gradient(to right, #1ca6a6 0%, #14d9c5 100%);
}
.mcon h2 a {
	text-decoration : underline;

	color : #1ca6a6;
}
.mcon h3 {
	font-size : 1.2rem;

	margin-bottom : 15px;

	color : #1ca6a6;
}
.mcon h3 a {
	text-decoration : underline;

	color : #1ca6a6;
}
.mcon h4 {
	font-size : 1.2em;

	margin-top : 5px;
	margin-bottom : 5px;
}
.mcon h5 , .mcon h6 {
	font-size : 1.1em;

	margin-top : 5px;
	margin-bottom : 2px;
}

.mcon hr {
	border : none;
	border-top : 1px dotted #000000;
}
.mcon iframe {
	max-width : 100%;
}
.mcon img {
	max-width : 100%;
	height : auto;
}
.mcon ol {
	margin-top : 1em;
	margin-bottom : 0.5em;
}
.mcon ol li {
	margin-bottom : 0.5em;
	margin-left : 2em;
}
.mcon p {
	margin-bottom : 1em;
}
.mcon ul {
	margin-top : 1em;
	margin-bottom : 0.5em;
}
.mcon ul li {
	margin-bottom : 0.5em;
	margin-left : 1.5em;

	list-style-type : disc;
}

.mcon__section {
	margin : 0 10px 30px;
	padding : 20px;

	background : #ffffff;
}

.c_accent {
	color : #1ca6a6;
}

/*----------------------------------------------------------------------------
******************************************************************************
Layout
******************************************************************************
----------------------------------------------------------------------------*/
/*color*/
.color_Red {
	font-weight : bold;

	color : #cc0000;
}
.color_Gre {
	font-weight : bold;

	color : #54862f;
}
.color_Blu {
	font-weight : bold;

	color : #142ca5;
}
.c_accent {
	color : #1ca6a6;
}
/*text*/
.textL {
	text-align : left;
}
.textR {
	text-align : right;
}
.textC {
	text-align : center;
}
/*float*/
.floatL {
	float : left;
}
.floatR {
	float : right;
}
/*font size*/
.fsS {
	font-size : 70%;
}
.fsL {
	font-size : 120%;
}
.font10 {
	font-size : 10px;
}
.font12 {
	font-size : 12px;
}
.font14 {
	font-size : 14px;
}
.font16 {
	font-size : 16px;
}
.font10b {
	font-size : 10px;
	font-weight : bold;
}
.font12b {
	font-size : 12px;
	font-weight : bold;
}
.font14b {
	font-size : 14px;
	font-weight : bold;
}
.font16b {
	font-size : 16px;
	font-weight : bold;
}
/*bold*/
strong {
	font-weight : bold;
}
/*margin*/
.marT5 {
	margin-top : 5px;
}
.marT10 {
	margin-top : 10px;
}
.marT20 {
	margin-top : 20px;
}
.marT30 {
	margin-top : 30px;
}
.marT50 {
	margin-top : 50px;
}
.marB2 {
	margin-bottom : 2px;
}
.marB5 {
	margin-bottom : 5px;
}
.marB6 {
	margin-bottom : 6px;
}
.marB8 {
	margin-bottom : 8px;
}
.marB10 {
	margin-bottom : 10px;
}
.marB15 {
	margin-bottom : 15px;
}
.marB20 {
	margin-bottom : 20px;
}
.marB25 {
	margin-bottom : 25px;
}
.marB30 {
	margin-bottom : 30px;
}
.marB40 {
	margin-bottom : 40px;
}
.marB50 {
	margin-bottom : 50px;
}
.marB60 {
	margin-bottom : 60px;
}
.marB70 {
	margin-bottom : 70px;
}
.marB80 {
	margin-bottom : 80px;
}
.marB100 {
	margin-bottom : 100px;
}
.marL5 {
	margin-left : 5px;
}
.marL7 {
	margin-left : 7px;
}
.marL8 {
	margin-left : 8px;
}
.marL10 {
	margin-left : 10px;
}
.marL15 {
	margin-left : 15px;
}
.marL20 {
	margin-left : 20px;
}
.marL30 {
	margin-left : 30px;
}
.marL40 {
	margin-left : 40px;
}
.marL150 {
	margin-left : 150px;
}
.marR5 {
	margin-right : 5px;
}
.marR10 {
	margin-right : 10px;
}
.marR20 {
	margin-right : 20px;
}
.marT-20 {
	margin-top : -20px;
}
.marTB10 {
	margin-top : 10px;
	margin-bottom : 10px;
}
.marTB20 {
	margin-top : 20px;
	margin-bottom : 20px;
}
.marTB30 {
	margin-top : 30px;
	margin-bottom : 30px;
}
.marTB50 {
	margin-top : 50px;
	margin-bottom : 50px;
}
/*----------------------------------------------------------------------------
******************************************************************************
Common
******************************************************************************
----------------------------------------------------------------------------*/

.hr {
	clear : both;

	height : 20px;

	background : url(../../images/common/hr_black.gif) repeat-x center;
}
.hr2 {
	clear : both;

	height : 20px;

	background : url(../../images/common/hr_d.gif) repeat-x center;
}
/*----------------------------------------------------------------------------
******************************************************************************
Common(イメージ用)
******************************************************************************
----------------------------------------------------------------------------*/

img.img_R {
	float : right;

	padding : 15px;
}
img.img_L {
	float : left;

	padding : 15px;
}
.photo {
	padding : 5px;

	border : 1px solid #cccccc;
}
.photo_L {
	float : left;

	margin : 0 10px 10px 0;
	padding : 5px;

	border : 1px solid #cccccc;
}
.photo_R {
	float : right;

	margin : 0 0 10px 10px;
	padding : 5px;

	border : 1px solid #cccccc;
}
/*----------------------------------------------------------------------------
******************************************************************************
list(side navi)
******************************************************************************
----------------------------------------------------------------------------*/
ul.nomal {
	margin-left : 30px;
}
ul.nomal li {
	padding : 5px;
}
ol.nomal {
	margin-left : 35px;
}
ol.nomal li {
	padding : 5px;
}
ul.list {
	margin-bottom : 10px;
	margin-left : 20px;
}
ul.list li {
	padding : 10px 5px 10px 0;

	background-image : url(../../images/common/hr_d.gif);
	background-repeat : no-repeat;
	background-position : bottom;
}
ol.list {
	margin-bottom : 10px;
	margin-left : 35px;
}
ol.list li {
	padding : 10px 5px 10px 0;

	background-image : url(../../images/common/hr_black.gif);
	background-repeat : no-repeat;
	background-position : bottom;
}
ul.list02 li {
	float : left;

	padding : 2px 10px 5px 20px;

	color : #ff6600;
	background : url(../../images/common/icon_list02.gif) no-repeat left top;
}
ul.list02 li a {
	color : #003300;
}
ul.list03 li {
	display : block;
	float : left;

	margin-left : 10px;
	padding : 5px;
}
#main_con_l ul {
	margin-bottom : 10px;
	padding-bottom : 5px;

	background : url(../../images/side_navi_ft.gif) no-repeat left bottom;
}
#main_con_l li {
	padding-bottom : 2px;

	background : url(../../images/side_navi_hr.gif) repeat-x left bottom;
}
#main_con_l li a {
	font-size : 12px;
	line-height : 15px;

	display : block;

	width : 162px;
	height : auto;
	padding : 12px 5px 5px 23px;

	text-decoration : none;

	color : #333333;
	background : url(../../images/side_navi_bg.gif) no-repeat left top;
}
#main_con_l li a:hover {
	background : url(../../images/side_navi_bg_ov.gif) no-repeat left top;
}
/*----------------------------------------------------------------------------
******************************************************************************
テーブル用 スタイル
******************************************************************************
----------------------------------------------------------------------------*/
.t_border {
	margin-bottom : 10px;

	border-top-width : 1px;
	border-top-style : solid;
	border-top-color : #d7d7d7;
	border-left-width : 1px;
	border-left-style : solid;
	border-left-color : #d7d7d7;
}
.t_border td {
	padding-left : 5px;

	vertical-align : top;

	border-right-width : 1px;
	border-right-style : solid;
	border-right-color : #d7d7d7;
	border-bottom-width : 1px;
	border-bottom-style : solid;
	border-bottom-color : #d7d7d7;
}
.t_border th {
	font-weight : bold;

	text-align : center;

	border-right-width : 1px;
	border-right-style : solid;
	border-right-color : #d7d7d7;
	border-bottom-width : 1px;
	border-bottom-style : solid;
	border-bottom-color : #d7d7d7;
	background-color : #f3f3f3;
}
.t_border2 {
	margin-bottom : 10px;
}
.t_border2 td {
	padding-left : 5px;

	vertical-align : top;
}
.t_border2 th {
	font-weight : bold;

	text-align : center;
}
.t_ver_top td {
	vertical-align : top;
}
.t_border_sepalate {
	margin-bottom : 10px;
}
.t_border_sepalate td {
	border-bottom : 1px #4d4d4d solid;
}
.t_border_sepalate tr.bg02 {
	background : #282828;
}
.t_border_sepalate td.name {
	font-weight : bold;

	padding-left : 15px;

	vertical-align : top;

	color : #ffcc00;
}
.t_hr {
	margin-bottom : 20px;
}
.t_hr td {
	font-size : 12px;

	vertical-align : top;
}
.t_hr tr {
	padding-bottom : 5px;

	background : url(../../images/common/hr_black.gif) left bottom no-repeat;
}
table {
	margin : 10px 0;
}
/*----------------------------------------------------------------------------
******************************************************************************
Box
******************************************************************************
----------------------------------------------------------------------------*/
.box_border {
	margin-top : 5px;
	margin-bottom : 10px;
	padding : 10px;

	border : 1px solid #cccccc;
}
.box_border_center {
	margin-top : 5px;
	margin-bottom : 10px;
	padding : 10px;

	text-align : center;

	border : 1px solid #cccccc;
}
.box {
	padding : 10px 40px;
}
#box img {
	float : right;

	padding-top : 30px;
}
.box_center {
	padding : 10px;

	text-align : center;
}
/*----------------------------------------------------------------------------
******************************************************************************
text-indent
******************************************************************************
----------------------------------------------------------------------------*/
.indent {
	text-indent : 5px;
}



/*---------page---------*/
/*---共通---*/
.mcon table {
	width : 100%;
}
.mcon table tr th {
	text-align : center;

	color : #ffffff;
	background-color : #1ca6a6;
}
.mcon table tr th , .mcon table tr td {
	padding : 5px;

	border-right : 1px solid #cccccc;
	border-bottom : 1px solid #cccccc;
}
.mcon table tr:first-child th , .mcon table tr:first-child td {
	border-top : 1px solid #cccccc;
}
.mcon table tr th:first-child , .mcon table tr td:first-child {
	border-left : 1px solid #cccccc;
}

.mcon h3 {
	font-size : 1.15em;
	font-weight : bold;
	/*	background:linear-gradient(transparent 55%, rgba(28, 166, 166, 0.3) 55%);*/

	border-bottom : 4px solid rgba(28, 166, 166, 0.3);
}

.page_list {
	margin-top : 30px!important;
}
.page_list li {
	margin : 15px 10px!important;

	list-style : none!important;
}
.page_list li a {
	position : relative;

	display : block;

	padding : 10px;

	transition : 0.3s;
	text-decoration : none;

	color : #1b4f98;
	border : 1px solid #1ca6a6;
}
.page_list li a:before , .page_list li a:after {
	position : absolute;
	top : 50%;
	right : 15px;

	display : block;

	width : 12px;
	height : 12px;

	content : "";
	transition : 0.3s;
	transform : rotate(45deg) translateY(-55%);

	border-top : 2px solid #1ca6a6;
	border-right : 2px solid #1ca6a6;
}
.page_list li a:before {
	right : 30px;
}
.page_list li a:after {
	right : 20px;
}

.page_list li a:hover {
	background-color : rgba(28, 166, 166, 0.3);
}

.r_box figure {
	margin : 10px 0;
	padding : 8px;

	border-radius : 5px;
	box-shadow : 2px 2px 5px rgb(0 0 0 / 20%);
}
.r_box figure img {
	display : block;

	margin : 0 auto;
}
.r_box figure p {
	font-size : 0.9em;

	margin-top : 10px;
	padding : 0 10px;

	text-align : left;
}
.r_box figure p:before {
	content : "▶";
}

.r_box2 img {
	display : block;

	margin : 10px auto;
	padding : 8px;

	border-radius : 5px;
	box-shadow : 2px 2px 5px rgb(0 0 0 / 20%);
}

.shadow {
	display : block;

	margin : 10px auto!important;
	padding : 8px;

	border-radius : 5px;
	box-shadow : 2px 2px 5px rgb(0 0 0 / 20%);
}




/*---member---*/
.member ul li span {
	display : inline-block;

	width : 6rem;
}

.member ul li.list_no {
	list-style : none;
}
.member ul li.list_no h4 {
	font-size : 1.1em;
	font-weight : normal;

	position : relative;

	margin-bottom : 0;
	padding-left : 0.5rem;

	color : #1ca6a6;
}
.member ul li.list_no h4:before {
	font-size : 0.6em;

	position : absolute;
	top : 5px;
	left : -0.5rem;

	display : block;

	content : "▶";

	color : #1ca6a6;
}
.member ul li.list_no ul {
	margin-top : 0.5rem;
}

.m_box figure {
	margin-bottom : 10px;
}
.gakusei_member ul {
	display : flex;
	flex-wrap : wrap;
	justify-content : flex-start;

	padding-left : 1.5em;
}
.gakusei_member ul li {
	width : calc((100% - 5px) / 2);
	margin-right : 5px;
	margin-left : 0!important;
}
.gakusei_member ul li:nth-child(2n) {
	margin-right : 0;
}


.member_tbl th , .member_tbl td {
	display : block;

	width : 100%;

	border-left : 1px solid #cccccc;
}



/*---archivement---*/
.archivement .box {
	padding : 0;
}
.archivement .sp_box img {
	width : 50%;
}

.archivement h2 {
	margin-bottom : 0.2rem;
}
.archivement h3 {
	font-size : 0.95em;
	font-weight : normal;

	padding-left : 1.5rem;

	color : #55b5b5;
}
.archivement_txt p {
	font-size : 1.2rem;
}


/*---laboratory---*/
.laboratory table tr td:first-child {
	width : 25%;

	text-align : center;
}

.table-scroll {
	overflow : auto; /*スクロールさせる*/

	white-space : nowrap; /*文字の折り返しを禁止*/
}

/* 以下、スクロールバーを追加 */
.table-scroll::-webkit-scrollbar {
	height : 5px;
}
.table-scroll::-webkit-scrollbar-track {
	background : #333333;
}
.table-scroll::-webkit-scrollbar-thumb {
	background : #999999;
}

/* 以下、tableの指定 */
.table-scroll table {
	border-spacing : 0;
	border-collapse : collapse;

	border-top : #cccccc solid 1px;
	border-left : #cccccc solid 1px;
}
.table-scroll table th , .table-scroll table td {
	font-size : 12px;
	font-weight : normal;

	padding : 10px 15px;

	border-right : #cccccc solid 1px;
	border-bottom : #cccccc solid 1px;
}
.table-scroll table th {
	width : 80px;

	background : #eeeeee;
}

/*---gallery---*/
.gallery ul {
	display : flex;
	align-items : flex-end;
	flex-wrap : wrap;
	justify-content : flex-start;

	padding : 0;
}
.gallery ul li {
	overflow : hidden;

	width : calc(( 100% - 5px ) / 2);
	height : 150px;
	margin : 5px 5px 5px 0;
	padding : 0;

	list-style : none;

	border-radius : 5px;
}
.gallery ul li:nth-child(2n) {
	margin-right : 0;
}

.gallery ul li a {
	display : block;

	width : 100%;
	height : 100%;
}

.gallery ul li a img {
	width : 100%;
	height : 100%;

	object-fit : cover;
}
