/*=================html全体の設定=====================*/
html {
    font-family: Arial, Helvetica, sans-serif;
    height: 100%;
}

#page {
    width: auto;
    margin: auto;
    height: 100%;
}
#pageHead {
    width: auto;
    margin: auto;
}
#pageBody {
    margin-bottom: 50px;
}

.linkImage:hover {
    opacity: 0.7;
}
/*==================headerの設定=====================*/
.mainVisual {
    position: relative;
    width: 1903px;
    margin: 0 auto;
} 
.mainVisual img {
    vertical-align: bottom;
}
.mainVisual .headerText a{
    color: #FFFFFF;
    text-align: center;
    text-decoration: none;
    position: absolute;
    margin-top: 20px;
    width: 1903px;
}
#pageHead .linkImage {
    display: block;
    width: 1903px;
    margin: auto;
}
.mainVisual .headerText h1 {
    margin: 12px 0;
}
.mainVisual .headerText h2 {
    margin: 12px 0;
}
.mainVisual .headerText p {
    margin: 10px 0;
}
/*homeのHeader用の設定--------------------------------------*/
.mainVisualHome {
    position: relative;
    content: "";
    clear: both;
    display: block;
    width: 1903px;
    margin: 0 auto;
}
.mainVisualContents {
    width: 1903px;
    position: absolute;
}
.mainVisualContents ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
.mainVisualContents ul li {
    position: relative;
}
.mainVisualHome .mainVisualContents .bx-wrapper {
    float: left;
    margin: 5px 0 30px 100px;
    height: 350px;
    width: 622px;
}
.mainVisualHome .mainVisualContents .bx-wrapper .bx-viewport {
    border: none;
    margin: 0;
    box-shadow: none;
}
.mainVisualHome .headerText a{
    color: #FFFFFF;
    text-align: center;
    text-decoration: none;
    margin-top: 70px;
    margin-right: 400px;
    width: 570px;
    float: right;
}
.mainVisualHome img {
    vertical-align: bottom;
}
.mainVisualHome .headerText h1{
    font-size: 45px;
}
.mainVisualHome .headerText h2{
    font-size: 30px;
}
.mainVisualHome .headerText p{
    font-size: 20px;
}
/*グローバルナビ-------------------------------------*/
#globalNavi {    
    font-size: 22px;
    background-color: #2EA9D0;
    width: 1903px;
    margin: auto;
    padding: 5px 0;
}
#globalNavi ul {
    list-style: none;
    width: 1500px;
    margin:  auto;
}
#globalNavi ul::after {
    content: "";
    clear: both;
    display: block;
}
#globalNavi ul li {
    text-align: center;
    float: left;
    width: 170px;
}
#globalNavi ul li a {
    display: block;
    color: #FFFFFF;
    text-decoration: none;
}
#globalNavi ul li a:hover {
    color: #c5c5c5;
    background-color: #64bad4;

}
/*ローカルナビ-------------------------------------*/
#localNavi ul li{
    font-size: 20 px;
    list-style-type: none;
    background-image: url(../images/ico_arrow.png);
    background-repeat: no-repeat;
    background-position-y: center;
    padding-left: 10px;
}

/*パンくずナビ---------------------------------------*/
#pageBody #topicPath {
    width: 960px;
    margin: auto;
    margin-top: 30px;
    font-size: 14px;
}

/*===============ページの内容の設定===================*/
#pageBody {
    width: 1903px;
}

#pageBody a {
    color: #2EA9D0;
    text-decoration: none;
}
#pageBody a:hover {
    color: #296e83; 
}
#pageBody article {
    font-size: 18px;
    padding: 0 0 30px;
}
#pageBodyMain {
    color: #333333;
    width: 960px;
    margin: auto;
    border-bottom:  solid 1px #333333;
}
#pageBodyMain h1 {
    font-size: 26px;
    margin: 50px 0;
}
#pageBodyMain .headingTypeA {
    font-size: 20px;
    font-weight: bold;
    border-left: solid 5px #888888;
    margin: 0;
    padding: 2px 0 2px 10px;
}

#pageBodyMain .headingTypeB {
    font-size: 20px;
    font-weight: bold;
    border-left: solid 5px #888888;
    border-bottom: solid 1px #333333;
    margin: 0 0 5px;
    padding: 2px 0 2px 10px;
}

#pageBodyMain .headingTypeC {
    font-size: 20px;
    font-weight: bold;
    border-left: solid 5px #c0c0c0;
    padding-left: 15px;
    margin: 5px 2px;
}

#pageBodyMain .headingTypeD {
    font-size: 18px;
    font-weight: bold;
    padding: 0;
    margin: 2px 2px;
}
#pageBodySub {
    width: 300px;
    margin-left: 100px;
    float: left;
}

#pageBodySub .headingTypeA {
    font-size: 20px;
    font-weight: bold;
    border-left: solid 5px #888888;
    margin: 2px 0 2px 0;
    padding: 2px 0 2px 10px;
}
/*見出し---------------------------------------------*/
.pageTitle {
    font-size: 26px;
    border-left: solid 5px #2EA9D0;
    border-bottom: solid 1px #333333;
    padding-left: 10px;
    padding-top: 2px;
}

/*Table----------------------------------------------*/
.memberList table {
    font-size: 18px;
    margin: 0 auto 30px;
    text-align: left;
    border: solid #333333;
    border-width: 3px 0;
    border-collapse: collapse;
    line-height: 1.333;
}
.memberList table caption{
    text-align: left;
    font-weight: bold;
    font-size: 20px;
    line-height: 1.3;
}
.memberList table tr {
    border-top: dotted 2px #333333;
}
.memberList table th {
    width: 200px;
    border-right: solid 1px #333333;
    padding-left: 40px;
}
.memberList table td {
    width: 700px;
    border-left: solid 1px #333333;
    padding-left: 20px;
}

/*ページトップへ戻る-----------------------------------*/
#pageTop {
    width: 960px;
    text-align: right;
    margin: auto;
}
#pageTop a {
    color: #333333;
    font-size: 14px;
    background-image: url(../images/ico_pagetop.png);
    background-repeat: no-repeat;
    background-position-y: center;
    padding-left: 10px;
}
#pageTop a:hover {
    opacity: 0.7;
}
/*===============ページフッターの設定==================*/
/*関連リンク------------------------------------------*/
#pageFoot {
    width: 1903px;
    background-color: #c5c5c5;
    margin: 0;
    padding-bottom: 5px;
}
#linkList {
    width: 845px;
    margin: auto;
    list-style: none;
}
#linkList::after {
    content: "";
    display: block;
    clear: both;
}
#linkList li{
    float: left;
    margin: 5px 30px;
}
#linkList li img {
    background-color: #FFFFFF;
}
/*コピーライト----------------------------------------*/
#copyRight {
    text-align: center;
}

/*===============ページ個別の設定======================*/
/*home---研究室紹介------------------------------------*/
#pageBodyMain .homePage::after {
    content: "";
    display: block;
    clear: both;
}
#pageBodyMain .introduction {
    width: 300px;
    float: right;
}
#pageBodyMain .introduction a {
    text-align: justify;
}
#pageBodyMain .introduction img {
    display: block;
    margin: auto;
    margin-bottom: 20px
}
#pageBodyMain .introduction img {
    width: 300px;
    margin: 10px auto;
    border: solid 1px #c5c5c5;
}
#pageBodyMain .introduction video {
    display: block;
    width: 300px;
    margin: 10px auto;
}
/*home---新着情報-------------------------------------*/
.homePage .newsList {
    width: 600px;
    float: left;
}

.homePage .newsList li{
    height: 800px;
    overflow-y: scroll;
}

.homePage .newsList li dl dd{
    width: 380px;
}

.newsList li {
    list-style-type: none;
    border-collapse: collapse;
    border: solid #333333;
    border-width: 3px 0;
    margin-bottom: 50px;
}

.newsList li dl {
    margin: 0;
    padding: 15px 0;
    border-top: dotted 2px #333333;
}
.newsList li dl::after {
    content: "";
    clear: both;
    display: block;
}
.newsList li dl:first-child{
    border-top: none;
}
.newsList li dl dt {
    margin: 0;
    padding-left: 20px;
    width: 120px;
    float: left;
}
.newsList li dl dd {
    margin: 0;
    float: left;
}

/*お知らせ---------------------------------------------*/
.newsimage {
    margin: auto;
}
.newspage .newsList ul {
    padding-left: 40px;
    padding-right: 40px;
}

.newspage .newsList li dl dd{
    width: 740px;
}

.newspage .newsList li dl {
    vertical-align: middle;
}

.newspage .newsList .newstext{
    margin-top: 10px;
    padding-left: 25px;
}

.newspage .newsList li dl a{
    display: block;
}

.newspage .newsList li dl a:hover{
        opacity: 0.7;
}

.news .newsimage {
    margin-top: 20px;
    text-align: center;
}

/*研究内容---------------------------------------------*/
.reserchContent figure {
    display: block;
    margin: auto;
    width: 600px;
}
.reserchContent figure figcaption {
    text-align: center;
}
.reserchContent ul li {
    margin: 10px 0;
}


/*研究室メンバー---研究室集合写真------------------------*/
.membersImage {
    margin: 50px 30px 30px;
}
.membersImage figcaption {
    font-size: 16px;
    text-align: center;
}
/*卒業生の主な進路--------------------------------------*/
.careerPath ul {
    font-size: 18px;
    margin: 0 auto; 
    padding: 0 20px 0 40px;
    text-align: left;
    border: solid #333333;
    border-width: 3px 0;
    border-collapse: collapse;
    line-height: 1.333;
    list-style-type: none;
}
.careerPath ul::after {
    content: "";
    display: block;
    clear: left;
}
.careerPath ul li {
    display: block;
    float: left;
    margin: 5px 20px 5px 0;
}
.careerPath ul li a{
    color: #333333;
}
/*卒業生---------------------------------------------*/
.graduate .headingTypeA {
    background-image: url(../images/dropdown.png);
    background-repeat: no-repeat;
    background-position-y: center;
    background-position-x: 110px;
}
.graduate .headingTypeA label{
    display: block;
}

.graduate .headingTypeA:hover {
    opacity: 0.7;
} 
.graduate input {
    display: none;
}
.gradlist {
    display: none;
}

.graduate input:checked ~ .gradlist {
    display: inherit;
}
.graduate table {
    font-size: 18px;
    margin: 0 auto 30px;
    text-align: left;
    border: solid #333333;
    border-width: 3px 0;
    border-collapse: collapse;
    line-height: 1.333;
}
.graduate table caption{
    text-align: left;
    font-weight: bold;
    font-size: 20px;
    line-height: 1.3;
}
.graduate table tr {
    border-top: dotted 2px #333333;
}
.graduate table th {
    width: 200px;
    border-right: solid 1px #333333;
    padding-left: 40px;
}
.graduate table td {
    width: 700px;
    border-left: solid 1px #333333;
    padding-left: 20px;
}
/*研究設備---------------------------------------------*/
.equipmentsImg {
    width: 820px;
    margin: 30px auto 50px;
}
.equipmentsImg::after {
    content: "";
    display: block;
    clear: both;
}
.equipmentsImg figure {
    background-color: #c5c5c5;
    text-align: center;
    width: 200px;
    height: 310px;
    float: left;
    margin: 0;
    margin-bottom: 5px;
    padding: 2px 2px;
}
.equipmentsImg figure img{
    display: block;
}
.equipmentsImg figure img:hover{
    opacity: 0.7;
}
.equipmentsImg figure figcaption{
    display: inline;
    font-size: 14px;
    text-align: center;
}
/*研究成果---------------------------------------------*/
.achievements .headingTypeB {
    background-image: url(../images/dropdown.png);
    background-repeat: no-repeat;
    background-position-y: center;
    background-position-x: 110px;
}
.achievements .headingTypeB label{
    display: block;
}

.achievements .headingTypeB:hover {
    opacity: 0.7;
} 
.achievements input {
    display: none;
}
.achievementsList {
    display: none;
}

.achievements input:checked ~ .achievementsList {
    display: inherit;
}
.achievementsList ol{
    margin: 0 0 20px;
}
.achievementsList ol li{
    padding-bottom: 10px;
    line-height: 1.3;
}
/*アクセス---------------------------------------------*/
.access address{
    width: 300px;
    float: right;
    font-size:  inherit;
    line-height: inherit;
    font-style: inherit;
}
.access address p {
    margin: 0;
}
.access .gMap {
    margin-bottom: 40px;
}
.access img {
    margin: 5px 0 20px;
}

