/* 目次

  - 全サイト共通
	- トップページ（body.top）
	- 非トップページ（body.non-top）
	
--------------------------------------------------------------------*/

/* 全サイト共通
--------------------------------------------------------------------*/

body{
  text-align:center;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
}

#wrapper{
width:980px;
margin:0 auto;
text-align:left;
position:relative;
}
@media (max-width: 767px) {
  #wrapper{
    width: 100%;
  }
}

@media (max-width: 767px) {
  .container-fluid {
    /*--bs-gutter-x: 1.5rem;*/
    --bs-gutter-x: 1.875rem;
  }
}

/* iPhone でリンククリック後に表示される青枠が表示されないようにする */
a {outline:none;}
a {
  -webkit-tap-highlight-color:rgba(0,0,0,0);
  cursor:pointer;
}

/* ヘッダー
------------------------------------------------*/

@media (max-width:767px) {
  #header {
    display: none;
  }
}

#hlinks{
position:absolute;
top:11px;
right:0;
font-size:70%;
}

ul#hlinks li{
display:inline;
}

/* フッター
------------------------------------------------*/

#footer-top{
margin-top:50px;
margin-bottom:5px;
font-size:75%;
position:relative;
}

#footer-top address{
text-align:left;
}

#footer-top #fnav{
position:absolute;
bottom:0;
right:0;
}

#footer-top #fnav li{
display:inline;
}

#footer-bottom{
font-size:70%;
width:100%;
height:39px;
background:url(../images/bg_footer_bottom.jpg) 0 0 repeat-x;
}

#footer-bottom-center{
width:980px;
/*height:29px;*/
height:39px;
margin:0 auto;
background:url(../images/bg_footer_bottom_center.jpg) 0 0 no-repeat;
padding-top:10px;
}
@media (max-width: 767px) {
  #footer-bottom-center {
    width: 100%;
    height: 55px;
    background-image: none;
    background-color: #f8f4fb;
    border-top: 1px solid #decfed;
  }
  #footer-bottom-center span {
    display: block;
  }
}

/* スマホ用ナビメニュー
------------------------------------------------*/

img[src="images/site_logo_name_sp.jpg"] {
  width: 270px;
}

@media (min-width:768px) {
  nav.navbar {
    display: none;
  }
}

.navbar-toggler {
  border: none;
}
.navbar-toggler:focus {
  box-shadow: none;
}

.navbar-collapse {
  background-color: #f7f4fb;
  width: 100%;
  position: absolute;
  top: 81.56px;
  left: 0;
  z-index: 1;
}
ul.navbar-nav li.nav-item {
  border-bottom: 1px solid white;
}

.navbar-collapse.collapse.show {
  box-shadow: 0 8px 8px 0px rgba(0,0,0,0.3);
}

ul.navbar-nav li.nav-item a.nav-link {
  padding-top: 11px;
  padding-bottom: 11px;
  text-align: left;
  padding-left: 2.5em;
  color: black;
  font-weight: 500;
  text-decoration: none!important;
}
ul.navbar-nav li.nav-item a.nav-link:active {
  text-decoration: none!important;
}
ul.navbar-nav li.nav-item a.nav-link.nav-link-sub {
  padding-top: 16px;
  padding-bottom: 16px;
  padding-left: 3.2em;
  color: #007EFF;
  font-size: 80%;
}

a.navbar-brand {
  padding-left: 15px;
}
button.navbar-toggler {
  padding-right: 15px;
}

/* スタイル部品
------------------------------------------------*/

b {
font-weight:bold;
}

table{
border-collapse:collapse;
border-spacing:0;
font-size:inherit;
font:100%;
}
  
fieldset,img{
border:0;
}
  
address,caption,cite,code,dfn,
em,strong,th,var{
font-style:normal;
font-weight:normal;
}

em{
color:#D80000;
font-weight:normal;
}

strong{
font-weight:bold;
}

a{outline:none;}
a:focus{outline:none;}

/* 回り込み解除
------------------------------------------------*/

.clearfix:after{
content:".";
display:block;
height:0px;
clear:both;
visibility:hidden;
}
.clearfix{
zoom:1;
}

.clear-b{
clear:both;
}

/* 画像の半透明ロールオーバー
------------------------------------------------*/

a.rollover:hover img{
filter:alpha(opacity=70);        /* ie 6 7 */
-ms-filter:"alpha(opacity=70)";  /* ie 8 */
opacity:0.7;
}

/* a
------------------------------------------------*/

/* 基本リンク（l-青下線無 v-紫下線無 h-青下線有 a-紫下線無） */

a:link{
color:#3300FF;
background-color:transparent;
text-decoration:none;
}

a:visited{
color:#6600CC;
background-color:transparent;
text-decoration:none;
}

a:hover{
color:#3300FF;
background-color:transparent;
text-decoration:underline;
}

a:active{
color:#3300FF;
background-color:transparent;
text-decoration:none;
}

/* link-1（l-青下線有 v-青下線有 h-青下線有 a-青下線有） */
/* hlinks など */

a.link-1:link{
color:#007EFF;
background-color:transparent;
text-decoration:none;
}

a.link-1:visited{
color:#007EFF;
background-color:transparent;
text-decoration:none;
}

a.link-1:hover{
color:#007EFF;
background-color:transparent;
text-decoration:underline;
}

a.link-1:active{
color:#007EFF;
background-color:transparent;
text-decoration:underline;
}

/* link-2（l-黒下線無 v-黒下線無 h-青下線無 a-青下線無） */
/* トップページのニュースなど */

a.link-2:link{
color:#222222;
background-color:transparent;
text-decoration:none;
}

a.link-2:visited{
color:#222222;
background-color:transparent;
text-decoration:none;
}

a.link-2:hover{
color:#007EFF;
background-color:transparent;
text-decoration:none;
}

a.link-2:active{
color:#007EFF;
background-color:transparent;
text-decoration:none;
}

/* link-3（l-黒下線無 v-黒下線無 h-黒下線無+背景色付 a-黒下線無） */
/* 未定義 */

a.link-3:link{
color:#222222;
background-color:transparent;
text-decoration:none;
}

a.link-3:visited{
color:#222222;
background-color:transparent;
text-decoration:none;
}

a.link-3:hover{
color:#222222;
background-color:transparent;
text-decoration:none;
}

a.link-3:active{
color:#222222;
background-color:transparent;
text-decoration:none;
}

/* link-4（l-赤下線無 v-赤下線無 h-赤下線有 a-赤下線無） */
/* 未定義 */

a.link-4:link{
color:#FC3E3E;
background-color:transparent;
text-decoration:none;
}

a.link-4:visited{
color:#FC3E3E;
background-color:transparent;
text-decoration:none;
}

a.link-4:hover{
color:#FC3E3E;
background-color:transparent;
text-decoration:underline;
}

a.link-4:active{
color:#FC3E3E;
background-color:transparent;
text-decoration:none;
}

/* table
------------------------------------------------*/

table.tab-1{
border:1px solid #999999;
border-collapse:collapse;
margin:30px 0 30px 40px;
font-size:95%;
}
@media (max-width:767px) {
  table.tab-1 {
    margin:30px 5px 30px 5px;
  }
}

table.tab-1 th{
border:1px solid #999999;
padding:0.7em 1em;
background-color:#EEEEEE;
}

table.tab-1 td{
border:1px solid #999999;
padding:0.7em 1em;
}

/* ol
------------------------------------------------*/

ol.ol-1{
list-style-type:decimal;
padding-left:2.5em;
}

ol.ol-1 li{
line-height:1.4;
margin-bottom:1em;
}

/* トップページ（body.top）
--------------------------------------------------------------------*/

body.top{
width:100%;
height:42px;
background:url(../images/bg_body.jpg) 0 0 repeat-x;
}
@media (max-width:767px) {
  body.top{
  background:none;
  }
}

/* メイン画像
---------------------------*/

/*body.top #wrapper img#bg-wrapper-top{
position:absolute;
top:0;
left:-210px;
width: 1390px; 
}*/

@media (max-width:767px) {
  body.top #wrapper img[src="images/top_main.jpg"] {
    display: none;
  }
}
body.top #wrapper img[src="images/top_main.jpg"] {
  position:absolute;
  top:-2px;
  left:-180px;
  width:1161.5px;
  height:693px;
}

@media (min-width:768px) {
  body.top img[src="images/top_main_sp.jpg"] {
    display: none;
  }
}

/* h1
---------------------------*/

body.top h1{
text-indent:-9999px;
}

/* gnav
---------------------------*/

@media (max-width:767px) {
  body.top #wrapper ul#gnav,
  body.top #wrapper ul#hlinks {
    display: none;
  }
}

body.top li#gnav1{
  list-style:none;
  position:absolute;
  top:76px;
  left:617px;
  width:162px;
  height:80px;
}
body.top li#gnav1 a{
  display:block;
  width:100%;
  height:100%;
  cursor:pointer;
  /*border:1px solid red;*/
  border-top-left-radius:38px;
  border-bottom-left-radius:38px;
  background-color:rgba(255,255,255,0.0);
  transition:background-color 0.5s;
}
body.top li#gnav1 a:hover{
  background-color:rgba(255,255,255,0.3);
}

body.top li#gnav2{
  list-style:none;
  position:absolute;
  top:186px;
  left:662px;
  width:156px;
  height:81px;
}
body.top li#gnav2 a{
  display:block;
  width:100%;
  height:100%;
  cursor:pointer;
  /*border:1px solid red;*/
  border-top-left-radius:38px;
  border-bottom-left-radius:38px;
  background-color:rgba(255,255,255,0.0);
  transition:background-color 0.5s;
}
body.top li#gnav2 a:hover{
  background-color:rgba(255,255,255,0.3);
}

body.top li#gnav3{
  list-style:none;
  position:absolute;
  top:316px;
  left:660px;
  width:275px;
  height:80px;
}
body.top li#gnav3 a{
  display:block;
  width:100%;
  height:100%;
  cursor:pointer;
  /*border:1px solid red;*/
  border-top-left-radius:38px;
  border-bottom-left-radius:38px;
  background-color:rgba(255,255,255,0.0);
  transition:background-color 0.5s;
}
body.top li#gnav3 a:hover{
  background-color:rgba(255,255,255,0.3);
}

body.top li#gnav4{
  list-style:none;
  position:absolute;
  top:449px;
  left:614px;
  width:179px;
  height:80px;
}
body.top li#gnav4 a{
  display:block;
  width:100%;
  height:100%;
  cursor:pointer;
  /*border:1px solid red;*/
  border-top-left-radius:38px;
  border-bottom-left-radius:38px;
  background-color:rgba(255,255,255,0.0);
  transition:background-color 0.5s;
}
body.top li#gnav4 a:hover{
  background-color:rgba(255,255,255,0.3);
}

/* pagebody
---------------------------*/

body.top #pagebody{
/*margin-top:694px;*/
margin-top:685px;
font-size:75%;
}
@media (max-width: 767px) {
  body.top #pagebody {
    margin-top:-10px;
  }
}
@media (min-width: 768px) { /* PC用：全体を右にずらしメイン画像と合わせる */
  body.top #pagebody{
    position: relative;
    left: 18px;
  }
}

body.top #primary{
/*float:left;*/
/*width:490px;*/
margin-top:-10px;
}

body.top #secondary{
/*float:right;*/
/*width:460px;*/
margin-top:-80px;
position:relative;
z-index:10;
}
@media (max-width:767px) {
  body.top #secondary {
    margin-top: 0px;
  }
}

/* プライマリー
------------------------------------------------*/

body.top #primary p{
  width:100%;
  /*margin-top:0;
  padding-bottom:0.3em;
  border-bottom:1px dotted #CCCCCC;
  margin-bottom:0.6em;*/
  font-size: 14px;
  line-height: 1.8;
}

/* セカンダリー
------------------------------------------------*/

/* NEWS
---------------------------*/

@media (max-width:767px) {
  body.top #news {
    background-image: url("../images/hdg_news_sp.png");
    background-repeat: no-repeat;
    background-size: contain;
  }
}

body.top #news p#gnav5{
text-indent:-9999px;
}

body.top #news ul{
background-color:#F8F4FB;
padding:5px 25px 0 25px;
font-size: 14px;
}
@media (min-width:768px) { /* PC用：背景色がついた部分の幅を調整しメイン画像と合わせる */
  body.top #news ul {
    width: 461px;
    min-height: 220px;
  }
}
@media (max-width:767px) {
  body.top #news ul{
    margin-top: 50px;
    padding: 5px 15px 0 15px;
  }
}

body.top #news ul li{
padding-bottom:1em;
border-bottom:1px dotted #cccccc;
margin-bottom:1em;
display: flex;
}

body.top #news ul li span.date{
  display: inline-block;
  white-space: nowrap;
  margin-right: 1rem;
}

body.top #news ul li span.headline{
  display: inline-block;
}

body.top #news #news-bottom{
width:100%;
height:20px;
background-color:#F8F4FB;
margin-top:-15px;
}

/* 非トップページ（body.non-top）
--------------------------------------------------------------------*/

body.non-top{
width:100%;
height:83px;
background:url(../images/bg_header.jpg) 0 0 repeat-x;
}

body.non-top #header{
width:100%;
height:145px;
background:url(../images/bg_header_center.jpg) 0 0 no-repeat;
}

/* di */
body.non-top #header #logo{
width:450px;
margin-top:12px;
}

body.non-top #gnav{
position:absolute;
top:83px;
left:0;
padding-left:0;
}

body.non-top #gnav li{
display:inline;
}

body.non-top #gnav li#gnav0{
width:89px;
margin-right:106px;
}
body.non-top #gnav li#gnav1{
width:107px;
margin-right:89px;
}
body.non-top #gnav li#gnav2{
width:104px;
margin-right:92px;
}
body.non-top #gnav li#gnav3{
width:168px;
margin-right:29px;
}
body.non-top #gnav li#gnav4{
width:108px;
}

body.non-top #bread{
width:100%;
font-size:75%;
text-align:left;
margin-top:30px;
}
@media (max-width:767px) {
  body.non-top #bread {
    margin-top: 20px;
  }
}

body.non-top #pagebody{
margin-top:30px;
font-size:85%;
}
@media (max-width:767px) {
  body.non-top #pagebody {
    margin-top: 15px;
  }
}

body.non-top #pagebody h2{
width:980px;
height:82px;
text-indent:-9999px;
margin-bottom:20px;
}
@media (max-width:767px) {
  body.non-top #pagebody h2 {
    width: 100%;
    height: 72px;
  }
}

body.non-top #pagebody h2#hdg-research{
background:url(../images/h2_research.jpg) 0 0 no-repeat;
}
body.non-top #pagebody h2#hdg-members{
background:url(../images/h2_members.jpg) 0 0 no-repeat;
}
body.non-top #pagebody h2#hdg-community{
background:url(../images/h2_community.jpg) 0 0 no-repeat;
}
body.non-top #pagebody h2#hdg-publications{
background:url(../images/h2_publications.jpg) 0 0 no-repeat;
}
body.non-top #pagebody h2#hdg-access{
background:url(../images/h2_access.jpg) 0 0 no-repeat;
}
@media (max-width:767px) {
  body.non-top #pagebody h2#hdg-research,
  body.non-top #pagebody h2#hdg-members,
  body.non-top #pagebody h2#hdg-community,
  body.non-top #pagebody h2#hdg-publications,
  body.non-top #pagebody h2#hdg-access {
    background-size: cover;
  }
}

body.non-top #pagebody .section-1{
margin-bottom:40px;
padding:0 2em 0 0;
}
@media (max-width:767px) {
  body.non-top #pagebody .section-1 {
    margin-bottom: 20px;
  }
}

body.non-top #pagebody h3{
width:960px;
border-left:3px solid #5EAEFF;
padding-left:17px;
height:40px;
line-height:40px;
font-size:110%;
font-weight:bold;
background-color:#DCEEFF;
margin-bottom:20px;
}
@media (max-width:767px) {
  body.non-top #pagebody h3 {
    width: 100%;
  }
}

body.non-top #pagebody .section-2{
margin-bottom:40px;
padding:0 2em 0 1em;
}
@media (max-width:767px) {
  body.non-top #pagebody .section-2 {
    padding:0 0.5em 0 0.5em;
  }
}

body.non-top #pagebody .section-2 dl{
margin-bottom:2em;
}

body.non-top #pagebody .section-2 dl dt{
font-weight:bold;
color:#0000FF;
margin-bottom:0.5em;
padding-left: 17px;
text-indent: -17px;
}

body.non-top #pagebody .section-2 dl dd{
margin:0 0 1em 2em;
}
@media (max-width:767px) {
  body.non-top #pagebody .section-2 dl dd {
    margin:0 0 1em 1.3em;
  }
}

body.non-top #pagebody .section-3{
margin-bottom:20px;
padding:0 2em 0 1em;
}
@media (max-width:767px) {
  body.non-top #pagebody .section-3 {
    padding:0 5px 0 5px;
  }
}

body.non-top #pagebody .section-3 img.w-267 {
  width: 267px;
  margin-right: 30px;
}
body.non-top #pagebody .section-3 img.w-267:first-child {
  margin-left: 30px;
}
@media (max-width:767px) {
  body.non-top #pagebody .section-3 img.w-267,
  body.non-top #pagebody .section-3 img.w-267:first-child {
    display: block;
    margin: 0 auto 20px;
  }
}

/* 非トップページ：メンバー
------------------------------------------------*/

table.tab-1 th{
  width:100px;
}
@media (max-width:767px) {
  table.tab-1 th {
    width:120px;
  }
}
table.tab-1 td{
  width:280px;
}

table.tab-1.tab-stu td{
  width:160px;
}

/* 非トップページ：アクセス
------------------------------------------------*/

body.non-top img[src="images/access_map_inohana_j.jpg"] {
  width: 545px;
}
body.non-top a[href="map_inohana2024.pdf"] img{
  width: 545px;
  margin-bottom: -30px;
}
@media (max-width:767px) {
  body.non-top img[src="images/access_map_inohana_j.jpg"] {
    width: 100%;
  }
  body.non-top a[href="map_inohana2024.pdf"] img{
    width: 100%;
  }
}