@charset "utf-8";
/* CSS Document */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {border:0;font-family:inherit;font-style:inherit;font-weight:inherit;margin:0;outline:0;padding:0;vertical-align:baseline;}

body, html{width:100%;}

body{
	font-size:100%;
	line-height:1.8;
	font-family: "Noto Sans JP";
}
h2{margin-bottom:24px;font-size:200%;font-weight:600;}
h2 small{margin-left:16px;font-size:15px;}
p{margin-bottom:16px;}
ol, ul{list-style:none;}
table{border-collapse:collapse;border-spacing:0;}
caption, th, td{font-weight:normal;text-align:left;}
blockquote:before, blockquote:after,q:before, q:after {content: "";content:none;}
blockquote, q{quotes:none;}
a{font-size:100%;vertical-align:baseline;background:transparent;}
img{max-width: 100%;height: auto;width /***/:auto;vertical-align:bottom;}
a img{border: 0;}
a:hover img,a:active img{-moz-opacity:0.8;opacity:0.8;filter:alpha(opacity=80);}
input, select{vertical-align:middle;}

/* パンくずリスト */
.bread_crumbs{margin:0 0 40px;font-size:12px;clear:both;}
.bread_crumbs li{margin-right:3px;display:inline;color:#333333;}
.bread_crumbs li a{color:#333333;}
.box{margin-bottom:64px;}

/* 注意 */
.red{color:#FF0000;}

/* text */
.txt_r{text-align:right;}
.txt_c{text-align:center;}
.alignleft{margin:0 16px 16px 0;float:left;}
.alignright{margin:0 0 16px 16px;float:right;}

/* ===== 全体 ===== */
.wrap{max-width:1024px;margin:0 auto;}
.wrap:after{content:"";display:block;clear:both;}
.page_wrap{max-width:920px;margin:0 auto;padding:40px 160px 40px 300px;position:relative;}
.page_wrap p:last-of-type{margin-bottom:0;}
.pc{display: block;}
.pc_mobile{display: block;}
.sp{display: none;}
.mobile{display:none;}
.clear:after{content:"";display:block;clear:both;}
.en{font-family: 'Archivo Black', sans-serif;}
.bg{padding:40px 0;background:#e6e6e6;}
.bg .page_wrap{padding-top:0;padding-bottom:0;}
.photo_wrap{max-width:80%;margin:0 auto;}
.des{margin-bottom:40px;}

.flex_box{margin-bottom:40px;display:flex;justify-content:space-between;flex-wrap:wrap;}
.two_flex div.item{width:48%;margin:0 1%;box-sizing:border-box;position:relative;}
.three_flex div.item{width:32%;box-sizing:border-box;position:relative;}
.three_flex::after{content:"";display: block;width:32%;}
.four_flex div.item{width:24%;box-sizing:border-box;position:relative;}
.four_flex::before{content:"";display: block;width:24%;order:1;}
.four_flex::after{content:"";display: block;width:24%;}
.box_link{width:100%;height:100%;position:absolute;top:0;left:0;text-indent:-9999px;white-space:nowrap;overflow:hidden;}
.list_center{display:block;text-align:center;}
.list_center li{display:inline-block;}

.movie{height:0;padding-bottom:56.25%;position:relative;overflow: hidden;}
.movie iframe{width:100%;height:100%;position:absolute;top:0;left:0;}

#page-top{position:fixed;bottom:0;right:16px;background-color:rgba(0,0,0,0.6);font-size:12px;z-index:999;}
#page-top a{width:40px;height:40px;line-height:40px;color:#FFFFFF;text-decoration: none;text-align: center;display: block;position:relative;}

/* ===== header ===== */
#header{width:240px;padding:18px;background-color:#243159;position:fixed;top:32px;left:32px;z-index:4;box-sizing:border-box;color:#FFFFFF;}
#header a{color:#FFFFFF;}
#header h1:after{width:40px;margin:16px auto;content:"";display:block;border-bottom:2px solid #FFFFFF;}

/* ===== global_menu ===== */
#global_menu ul li{margin:8px 0;}
#global_menu ul li a{width:100%;padding:8px 16px;display:block;color:#FFFFFF;text-decoration:none;box-sizing:border-box;}
#global_menu ul li a:hover{background-color:rgba(0,0,0,0.4);border-radius:3px;}

/* mainimage */
#main_image_box{position:absolute;top:0;left:0;}
#main_image_box img{width:100%;max-height:360px;min-height:360px;object-fit:cover;}
.page #main_image_box img{max-height:260px;min-height:260px;}
.main_image{margin-bottom:40px;margin-right:-160px;}
.main_image img{width:100%;max-height:360px;min-height:360px;object-fit:cover;}
.page h2.page_title{max-height:260px;min-height:260px;margin-bottom:0;padding-top:160px;box-sizing:border-box;}

/* ===== contents ===== */
#contents{max-width:1000px;margin:0 auto;padding:0 160px 0 300px;position:relative;}
/* news */
.info_box{max-height:700px;overflow:auto;}
.info_box dl{margin:0 16px 16px 0;padding-bottom:16px;border-bottom:1px solid #4d4d4d;}

.news dt{line-height:1;font-size:14px;font-weight:bold;margin-bottom:4px;}
/* about */
#about .wrap{max-width:1000px;padding:0 160px 0 300px;}
#about p{font-size:14px;}
/* banner */
#banner{padding:40px 0;}
#banner li{margin:0 16px;}
/* ===== footer ===== */
#footer{padding:16px 0;clear:both;background:#243159;color:#FFFFFF;}
#footer div.copy{text-align:center;font-size:11px;}

/* ===== 配下共通 ===== */
.page .page_wrap h3{margin-bottom:16px;padding-bottom:16px;font-weight:200%;font-weight:600;color:#243159;border-bottom:2px solid #243159;}
.page .page_wrap h3:before{margin-right:16px;content:"◇";display:inline-block;}
/* outline */
#message p img.alignright{width:180px;}
/* research */
.research_box:last-of-type{margin-bottom:0;}
.research_box dt{width:160px;}
.research_box dd{width:calc(100% - 200px);}
.research_box dd p.research_txt{margin-bottom:16px;font-size:110%;font-weight:600;color:#4D4D4D;}
.research_box dd li span.ko{width:120px;padding:8px 0;background-color:#243159;color:#FFFFFF;text-align:center;}
.research_box dd li span.research_name{width:calc(100% - 120px);padding:8px 16px;background-color:#F2F2F2;box-sizing:border-box;}
#advisor h2{font-size:140%;}
#advisor p{font-size:90%;}
/* achievements */
.achievements .page_wrap ul li{padding:8px 0;border-bottom:1px dashed #CCCCCC;font-size:90%;line-height:1.6;}
.achievements .page_wrap ul li span.underline{text-decoration:underline;font-weight:600;color:#243159;}

@media screen and (min-width:1366px){
	/* mainimage */
	#main_image_box img{max-height:480px;min-height:480px;}
	.main_image img{max-height:480px;min-height:480px;}
}
@media screen and (max-width:1365px){
	/* mainimage */
	.main_image{margin-right:-40px;}
	/* ===== contents ===== */
	#contents{padding:0 40px 0 300px;}
}

@media screen and (min-width: 1025px) {
	#global_menu{display:block !important;}
}
@media screen and (min-width: 741px) {
	a[href^="tel:"]{pointer-events:none;cursor:default;text-decoration: none;}
}

/* ipad 横 */
@media screen and (max-width: 1024px) {
	.pc{display: none;}
	.sp{display:block;}
	.wrap{width:94%;margin:0 3%;}
	
	/* ===== header ===== */
	#header{display:none;}
	h1.sp{width:320px;padding-top:16px;}
	.page h2.page_title{min-height:inherit;max-height:inherit;margin-bottom:22px;padding-top:58px;line-height:1.2;font-size:150%;}
	.page h2.page_title small{padding-top:16px;}
	
	.overlayMenuBtn{
		position: absolute;
		top: 16px;
		right: 4%;
		height: 50px;
		cursor: pointer;
		z-index: 100001;
	}
	.overlayMenuBtn span{
		position: relative;
		display: block;
		width: 40px;
		border: 2px solid #243159;
		transition: .5s;
		background-color:#243159;
	}
	.overlayMenuBtn span:nth-child(1){top: 0;}
	.overlayMenuBtn span:nth-child(2){top: 10px;}
	.overlayMenuBtn span:nth-child(3){top: 20px;}
	.open .overlayMenuBtn span{
		border:2px solid #FFFFFF;
	}

	.overlayMenu{display: none;position: fixed;width: 100%;height: 100vh;overflow: auto;background-color:#FFFFFF;z-index: 100000;color:#333333;}
	.overlayMenuInner{padding:64px 4% 40px;}

	.overlayMenuItem h1{width:320px;margin-top:-48px;}
	.overlayMenuItem ul.sp_menu{
		margin: 20px 0 40px 0;
		padding: 0;
		list-style-type: none;
	}
	.overlayMenuItem ul.sp_menu li{border-top: 1px solid #ccc;}
	.overlayMenuItem ul.sp_menu li:last-child{border-bottom: 1px solid #ccc;}
	.overlayMenuItem ul.sp_menu li a{
		width: 100%;
		padding: 20px 0 20px 40px;
		color: #333333;
		text-decoration: none;
		transition: .5s;
		display: block;
		box-sizing:border-box;
	}
	.overlayMenuItem ul.sp_menu li a:hover{background-color:#243159;color:#FFFFFF;}

	/* ===== global_menu ===== */
	#global_menu{display:none;}
	#global_menu_sp{margin:0 -3% 16px;background:#243159;}
	#global_menu_sp ul{width:94%;margin:0 auto;display:flex;justify-content:space-between;}
	#global_menu_sp ul li{width:20%;text-align:center;}
	#global_menu_sp ul li a{padding:16px 0;color:#FFFFFF;text-decoration:none;display:block;}
	#global_menu_sp ul li a:hover{background-color:rgba(0,0,0,0.4);border-radius:3px;}
	/* mainimage */
	.main_image{margin:0 -3% !important;}
	/* ===== contents ===== */
	#contents{max-width:94%;padding:0;}
	.page #contents{max-height:260px;}
	.page_wrap{width:94%;padding:40px 0;}
	/* about */
	#about .wrap{padding:0;}
}

/* ipad 縦 */
@media screen and (max-width: 800px) {
}

/* iPhone 横 */
@media screen and (max-width: 740px) {
	.photo_wrap{max-width:100%;}
	.two_flex div.item{width:100%;margin:0 0 40px;}
	.three_flex div.item{width:100%;}
	.four_flex div.item{width:48%;}
	.four_flex::before{content:"";display: block;width:48%;order:1;}
	.four_flex::after{content:"";display: block;width:48%;}
	
	.alignleft,.alignright{margrin-bottom:16px;float:none;display:block;}
	.nav-previous,.nav-next{float:none;width:100%;text-align:left;}
	/* contents */
	h1.sp{width:240px;}
	/* outline */
	#message p img.alignright{width:80%;margin:0 auto 16px;}
	/* banner */
	#banner li{margin:0 16px 16px;}
	#banner li:last-of-type{margin-bottom:0;}
	.page h2.page_title small{margin:0;display:block;}
}

/* iPhone 縦 */
@media screen and (max-width: 640px) {
	.pc_mobile{display: none;}
	.mobile{display:block;}
	.overlayMenuItem h1{width:240px;margin-top:-48px;}
	/* ===== global_menu ===== */
	#global_menu_sp{background:none;}
	#global_menu_sp ul{width:100%;flex-wrap:wrap;}
	#global_menu_sp ul::after{content:"";display: block;width:33%;}
	#global_menu_sp ul li{width:33%;margin-bottom:1px;font-size:90%;background-color:#243159;}
	/* contents */
	h1.sp{width:200px;}
	.page h2.page_title{margin-bottom:36px;}
	/* research */
	.research_box dt{width:100%;margin-bottom:16px;}
	.research_box dd{width:100%;}
}