@charset 'utf-8';

body{
    margin:0;
    padding:0;
    color:#222;
}
header{
/*    background:rgba(255,255,255,0.8);*/
    background: #364c97;
    filter:drop-shadow(5px 5px 5px rgba(0,0,0,0.1));
    position:fixed;
    width:100%;
    top:0;
    z-index:10;
}
.logo{
    max-width:960px;
    display:flex;
    justify-content:center;
    align-items:center;
    margin:0px auto;
    padding: 10px 0;
}
.logo img{
/*    width:60px;*/
}
.title{
    text-align: center;
}
.logo h1 {
/*    text-align: left;*/
    display: block;
    font-size: 1.7em;
    color: #fff;
}
.logo img {
/*    width: 70%;*/
}

.logo h1 span {
	display: block;
    font-size: 0.9em;
    color: #FFF;
}
.logo p{
    display:block;
}
.logo .contact {
font-weight: bolder;
text-align: right;

}
header nav{
    width:100%;
}
header nav ul{
    display:flex;
    max-width:960px;
    justify-content:center;
    margin:0 auto;
}
header nav ul li{
    width:20%;
}
header nav ul li a:visited,
header nav ul li a:link{
    text-decoration:none;
    color:#FFF;
    display:block;
    text-align:center;
    font-size:1.2em;
    font-weight:bold;
    padding:0;
}
header nav ul li a span{
    display:block;
    font-size:0.8em;
    font-weight:normal;
    letter-spacing:1px;
    margin:-3px 0 6px 0;
}
header nav ul li a::after{
    content:'';
    display:block;
    border-bottom:3px solid #fff;
    margin:0 auto;
    width:0;
    transition:all .3s;
}

header nav ul li a.current::after {
	width: 100%;
}
header nav ul li a:hover::after{
    width:100%;
}

button {
    margin-top: 80px;
}

.main_img {
    width: 960px;
    margin: 0 auto;
}


.main_img img{
    width:100%;
    margin: 200px 0 40px 0;
}
.content{
    width:100%;
    padding:80px 0 100px 0;
}
.content_area{
    text-align:center;
    max-width:960px;
    margin:0 auto;
}
.content_area h2{
    display:block;
    margin:0px auto 50px;
    font-size:1.5em;
    position:relative;
}
.content_area h2 span{
    display:block;
    font-size:0.6em;
    letter-spacing:2px;
    margin:-4px auto 0;
    color:#364c97;
}
.content_area h3 span {
    display: block;
    font-size: 0.7em;
    font-weight: normal;
}
.about h2::after{
    content:'';
    display:block;
    position:absolute;
    bottom:-25px;
    height:8px;
    width:100%;
    background:#8794c1;
    width:70%;
    margin:auto;
    left:0;
    right:0;
}

.seminar_title {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 30px;
}

.seminar_title h2{
    margin: 0 20px;
}

.content_area h3 {
    padding: 0.4em 0.5em;
    color: #364c97;
    background: #f4f4f4;
    border-left: solid 5px #364c97;
    border-bottom: solid 3px #d7d7d7;
    font-size: 1.4em;
    text-align: left;
    margin-bottom: 10px;
}

.content_area h4{
    color: #364c97;
    font-size: 1.3em;
    border-left: 4px solid #364c97;
    border-bottom: 1px dotted #364c97;
    letter-spacing: 1px;
    padding-left: 8px;
    margin-bottom: 10px;
    text-align: left;
}

.content_area h5 {
	position: relative;
	padding-left: 30px;
    font-size: 1.3em;
	color: #364c97;
    text-align: left;
}
.content_area h5::before,
.content_area h5::after{
	content: "□";
	position: absolute;
}
.content_area h5::before{
	left:0;
	top:-3px;
}
.content_area h5::after{
	left: 5px;
	top: 3px;
	color: #ccc;
}

.content_area p {
    margin: 15px auto;
    font-size: 1.2em;
    line-height: 2.3;
    text-align: left;
}
.content_area img {
    margin-top: 15px;
    border: 1px solid gray;
}
.content_area a img:hover {
    opacity: 0.85;
}
.content_area .img_box {
    display: flex;
    justify-content: space-between;
    margin-bottom: 20px;
}
.content_area .img_box p{
text-align: center;
margin: 0;
}

.content_area .img_box img{
margin: 0;
}
.content_area .img_box .border_txt{
    border-bottom: 1px solid;
    margin-bottom: 10px;
}
.content_area ul{
    list-style: disc;
    margin:15px 0 15px 20px; 
}

.content_area ol{
    margin:15px 0 15px 20px; 
}

.content_area li{
    text-align: left;
    font-size: 1.2em;
    padding: 10px;
}
.content_area table{
    font-size: 1.2em;
    margin-bottom:20px;

}
.content_area table tr td, .content_area table tr th{
    padding: 10px 15px;
}
.about_contents {
    margin-bottom:35px!important;
}

.about_contents img{
    margin:0;
}

.news{
    background:#ededed;
}
.news_area{
    height:200px;
    overflow-y:scroll;
    margin-top:30px;
    width:95%;
    margin:0 auto;
}
.news_area table{
    width:100%;
    font-size:1.1em;
}
.news_area table tr{
    border-bottom:1px solid #9d9d9d;
}
.news_area table tr td{
    padding:16px 0 4px 0;
}
.news_area table tr td:first-child {
    width: 15%;
}
.news_area table tr td time::before{
    font-family:FontAwesome;
    content:'\f140';
    font-size:0.8em;
    margin-right:2px;
    color:#9d9d9d;
    margin-right:5px;
}
#research img {
	width: 300px;
    margin-top: 15px;
    border: 1px solid gray;
}
#introduction .member {
    border-bottom: 1px dotted gray;
}
#introduction .box_col_02 img {
    width: 20%;
    margin-top: 10px!important;
}
#introduction .box_col_02 div.text {
    width: 75%;
}
#introduction .box_col_02 p:first-child {
    margin-top: 0;
}
footer{
    background:#364c97;
}
footer p{
    color:#fff;
    text-align:center;
    letter-spacing:1px;
    font-size:0.9em;
/*    line-height:6;*/
    padding: 20px 0;
}

/*---------------------------
下層ページ
---------------------------*/
#page_header{
    padding-top:10px;
    filter: drop-shadow(5px 0px 5px rgba(0,0,0,0.1));
/*    background:rgba(255,255,255,0.9);*/
    background: #364c97;
}

.sp_br {
    display:none;
}
.pc_none {
    display:none;
}
@media screen and (max-width:579px){
	.logo {
        display: block;
        background:#364c97;
        padding: 30px 0;
        margin: 0 auto!important;
	}
	.logo p{
        text-align: center;
        margin-bottom: 20px;
	}
	.logo h1 {
    	text-align: center;
    	display: block;
    	font-size: 1.5em;
	}
	.logo h1 img{
        width: 100%;
	}
    
    .main_img{
        width: 100%;
    }
    .contact {
        display:none!important;
    }
    
	.title {
    	width: 85%;
        margin-left: 10px;
	}
	html, body {
		overflow-x: hidden;
	}
	header {
    	background-color: white;
    	filter: none;
    	z-index: 0;
    	position: static!important;
	}
    header nav{
		background: #364c97;
		color: #fff;
		height: calc(100% + 500px);
		padding-bottom: 500px;
		z-index: 100;
		width: 70%;
		overflow-x: none;
		overflow-y: auto;
		top: 0px;
		right: -70%;
		position: fixed;
		transition: All 0.5s ease;
		}
	header nav ul {
		font-size:0.8em;
		float: none;
		display: block;
	}
	
	header nav ul>li {
		border-bottom: 1px solid rgba(255, 255, 255, 0.4);
		width: 100%;
		padding-top: 0;
		box-sizing: border-box;
	}
	header nav ul>li>a {
		border-bottom: 1px solid rgba(0, 0, 0, 0.15);
		font-size: 1.6em!important;
		color: #fff!important;
		display: block;
		padding: 1em 1.5em!important;
		text-decoration: none;
		position: relative;
		letter-spacing: 0.05em;
	}
	header nav ul>li>a::after{
		border: none;
	}
	header nav ul>li>a:hover{
		background-color: #000;
		box-shadow: 0 0 4px rgba(255, 0, 0, 0.2)
	}
	header nav ul>li>a img {
    	display: none;
	}
	header nav ul>li>a span {
    	margin: 0;
	}
    
    .main_img img{
        width:100%;
        margin-top: 0px;
    }
    button::before {
        display: none;
    }
    .seminar_title {
        display: block;
    }

	.sub-menu {
    	padding: 0!important;
	}
	.sub-menu>li>a {
		background-color: rgba(0, 0, 0, 0.4);
		border-bottom: 1px solid rgba(255, 255, 255, 0.4);
		color: #fff!important;
		display: block;
		font-size: 1.3em;
		padding: 1em 2.8em;
		text-decoration: none
	}
	
	.sp_nav_open {
		right: 0 !important
	}
	.sp_nav_trigger {
		cursor: pointer;
		z-index: 1000;
		position: fixed !important;
		top: 25px;
		right: 15px;
		margin-top: -5px;
		width: 36px;
		height: 24px
	}
	.sp_nav_trigger span {
		display: inline-block;
		position: absolute;
		left: 0;
		width: 100%;
		height: 4px;
		background-color: #000;
		border-radius: 4px;
		transition: all .4s;
		box-sizing: border-box
	}
	.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 {
		position: absolute;
		left: 0;
		bottom: -20px;
		content: 'MENU';
		display: block;
		width: 100%;
		padding-top: 20px;
		color: #000;
		font-size: 10px;
		text-decoration: none;
		text-align: center;
		transition: all 0.4s
	}
	.sp_nav_trigger.active::after {
		content: 'CLOSE';
		bottom: -25px;
		color: #fff
	}
	.sp_nav_trigger.active span:nth-of-type(1) {
		transform: translateY(10px) rotate(-45deg);
		background: #fff
	}
	.sp_nav_trigger.active span:nth-of-type(2) {
		opacity: 0;
		background: #fff
	}
	.sp_nav_trigger.active span:nth-of-type(3) {
		transform: translateY(-10px) rotate(45deg);
		background: #fff
	}
    

    .sp_table_member tr td{
        font-size: 0.6em !important;
    }

    .sp_table_member table tr {
    display:block;
    margin-bottom: 10px;
    }
    .sp_table_member table th {
    display:block;
    }
    .sp_table_member table td {
    display: block;
    width: 100%;
    border:none;
    }
    .sp_brno {
        display:none;
    }
    .content{
        padding:50px 0;
    }

    .content_area h2{
        display:block;
        margin:0px auto 30px;
        font-size:1.5em;
        position:relative;
    }

    .content_area{
        width: 95%;
    }

    .content_area p{
		margin: 25px auto;
        font-size:1.1em;
    }
    .content_area .img_box {
        display: block;
        margin-bottom: 20px;
    }
    .content_area .img_box {
        text-align: center;
    }

    .content_area .img_box img{
    margin-bottom: 20px;
    width: 90%;
    }
    
    .content_area .img_box .border_txt{
        border-bottom: none;
        margin-bottom: 0px;
    }
    
    .content_area ul{
        margin-left:30px;
    }

    .content_area ol{
        margin-left:30px;
    }

    .content_area table{
        width: 100%;
    }
    .content_area table tr th:first-child{
        width: 25%;
    }

    .about_contents {
        margin-bottom:10px!important;
    }
    .ol_maru{
        margin: 10px!important;
    }
    .news_area table tr td{
        vertical-align:top;
    }
    .news_area table tr td time{
        margin-right:10px;
    }
	.tbl_bdr {
		font-size: 0.9em;
	}
	#introduction .box_col_02 img {
		width: 200px;
	}
	#introduction .box_col_02 div.text {
		width: 100%;
	}
	#introduction .box_col_02 p:first-child {
    	margin-top: 0;
	}
    footer p{
/*        line-height:4;*/
    }
/*---------------------------
下層ページ
---------------------------*/
    #page_header{
        position:static!important;
		padding-top: 10px;
		filter: none;
        margin-bottom: 20px;
    }
    #page_header+.content{
        padding-top:0;
    }
    .sp_br {
    display:block;
    }
    .pc_none {
        display: block;
    }
}