@charset "UTF-8";

/* =============== 共通部分 =============== */
html{
  font-size: 100%;
}
body{
  font-family: Arial, "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", sans-serif;
  line-height: 1.7;
}
a, a:visited{
  text-decoration: none;
  color: blue;
}
a:hover{
  color: #0bd;
}
/* pdf, word, excelのアイコン */
a[href$=".pdf"]:after{
  font-family: 'Font Awesome 5 Free';
  content: '\f1c1';
  font-size: 1rem;
  font-weight: normal;
  color: rgb(193, 30, 7);
  display: inline-block;
  padding: 0 5px 0;
}
a[href$=".docx"]:after{
  font-family: 'Font Awesome 5 Free';
  content: '\f1c2';
  font-size: 1rem;
  font-weight: normal;
  color: rgb(9, 88, 150);
  display: inline-block;
  padding: 0 5px 0;
}
a[href$=".xlsx"]:after{
  font-family: 'Font Awesome 5 Free';
  content: '\f1c3';
  font-size: 1rem;
  font-weight: normal;
  color: rgb(32, 114, 68);
  display: inline-block;
  padding: 0 5px 0;
}
img{
  max-width: 100%;
}
.wrapper{
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 4%;
}

/* 見出し */
.page-title{
  font-size: 3rem;
  font-weight: normal;
  margin-bottom: 50px;
}
.sub-title{
  font-size: 2rem;
  font-weight: normal;
  margin-bottom: 30px;
}

/* iframe */
iframe{
  width: 100%;
}

/* モバイル版の非表示 */
.mobile{
  display: none;
}

/* ヘッダー */
header{
  background-color: teal;
  color: #fff;
  padding: 20px 4%;
  margin-bottom: 50px;
}
header h1{
  font-size: 3rem;
}
header h2{
  font-size: 1.5rem;
}
.header-flex{
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 20px;
}
.main-nav{
  display: flex;
  justify-content: space-between;
  font-size: 1.25rem;
  padding: 5px;
  list-style: none;
}
.main-nav li{
  text-align: center;
  width: 100%;
  border-right: 2px solid #fff;
}
.home-tab{
  border-left: 2px solid #fff;
}
.main-nav a{
  color: #fff;
  display: block;
}
.main-nav a:hover{
  color: #0bd;
}

/* top buttonの設定 */
#page_top{
  width: 50px;
  height: 50px;
  position: fixed;
  right: 20px;
  bottom: 20px;
  background: #3f98ef;
  opacity: 0.6;
  border-radius: 50%;
  }
#page_top a{
  position: relative;
  display: block;
  width: 50px;
  height: 50px;
  text-decoration: none;
}
#page_top a::before{
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  content: '\f062';
  font-size: 25px;
  color: #fff;
  position: absolute;
  width: 25px;
  height: 25px;
  top: 0;
  bottom: 15px;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}

/* フッター */
footer{
  background: teal;
  color: #fff;
  text-align: center;
  padding: 26px 0;
  margin-top: 50px;
}

/* =============== ホーム =============== */
#home{
  text-align: center;
}

/* ホームタイトル */
#home .page-title{
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

/* トップ画像 */
.slider img{
  height: 700px;
  width: 100%;
  object-fit: cover;
}

/* SNS */
#sns{
  display: flex;
  justify-content: space-between;
  margin: 50px 0;
}
#sns h2{
  font-size: min(2rem, 3vw);
  padding: 10px;
  border-bottom: 3px solid teal;
}
.sns-box{
  width: 48%;
}
video{
  object-fit: cover;
}

/* NEWS */
#news{
  height: 18em; /* 10em（行）x line-heightの1.7 + paddingの+α */
  border: 1px solid;
  overflow: auto;
  text-align: left;
  padding: 10px 15px;
  margin-bottom: 50px;
}
#news ul{
  list-style: square inside;
}

/* LINK */
#link{
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
}
#link img{
  height: 50px;
  margin: 10px;
  object-fit: contain;
}

/* =============== メンバー =============== */
table{
  border-collapse: collapse;
  width: 70%;
  margin-bottom: 5px;
}
table th, table td{
  border: solid 1px black;
  padding: 5px;
}
#people h2{
  border-left: 15px solid teal;
  padding-left: 15px;
  margin-bottom: 20px;
}
#people p{
  margin-bottom: 50px;
}

/* =============== 研究内容 =============== */
#research h2{
  border-left: 15px solid teal;
  padding-left: 15px;
}
#research section{
  margin: 20px 0 50px;
}
.research-flex{
  display: flex;
  justify-content: space-between;
}
.text{
  width: 68%;
}
.figure{
  width: 30%;
}
#research p{
  padding: 5px;
}
#research h3{
  font-size: 1rem;
  padding: 5px;
  border-bottom: 2px solid teal;
}

/* =============== 研究業績 =============== */
#results h2{
  border-left: 15px solid teal;
  padding-left: 15px;
}
#results h3{
  font-size: 1.25rem;
  padding: 5px;
  border-bottom: 2px solid teal;
}
#results a{
  color: black;
}
#results a:hover{
  color: #0bd;
}
#results ol{
  margin-left: 25px;
}
#results ol li{
  padding: 10px;
}
#results div{
  margin-bottom: 20px;
}

/* =============== アルバム =============== */
#album h2{
  border-left: 15px solid teal;
  padding-left: 15px;
}
#album a{
  color: black;
}
#album a:hover{
  color: #0bd;
}
.album-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 15px;
  margin: 15px;
}
.photo{
  width: 100%;
  object-fit: cover;
}
#album div{
  margin-bottom: 20px;
}

/* =============== アクセス =============== */
#access h2{
  border-left: 15px solid teal;
  padding-left: 15px;
}
#access p{
  padding: 5px;
}
#access h3{
  font-size: 1.25rem;
  padding: 5px;
}
#access section{
  margin: 50px 0;
}

/* ========== モバイル版 ==========*/
@media (max-width: 600px){
  /* PC版の非表示とモバイル版の表示 */
  .pc{
    display: none;
  }
  .mobile{
    display: block;
  }

  /* 見出し */
  .page-title{
    font-size: 7vw;
    margin-bottom: 20px;
  }
  .sub-title{
    font-size: 5vw;
  }

  /* ヘッダー */
  header{
    padding: 4%;
    margin-bottom: 20px;
    position: relative;
  }
  header h1{
    font-size: 7vw;
  }
  header h2{
    font-size: 3vw;
  }
  .header-flex{
    align-items: flex-end;
    margin-bottom: 0px;
  }
  .header-flex a{
    color: #fff;
  }
  .menubtn{
    font-size: 1.25rem;
  }
  .main-nav{
    font-size: 1rem;
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 10000;
    width: 100%;
    display: block;
    background: #555;
  }
  .main-nav li{
    padding: 10px;
    border: 0;
  }

  /* top buttonの設定 */
  #page_top{
    right: 10px;
    bottom: 10px;
  }

  /* フッター */
  footer{
    padding: 15px 0;
    margin-top: 20px;
  }

  /* =============== ホーム =============== */
  /* トップ画像 */
  .slider img{
    max-height: 250px;
  }

  /* SNS */
  #sns{
    display: flex;
    flex-direction: column;
    margin: 20px 0;
  }
  #sns h2{
    font-size: 5vw;
  }
  .sns-box{
    width: 100%;
  }
  .sns-box iframe, video{
    height: 250px;
  }

  /* NEWS */
  #news{
    padding: 5px 10px;
    margin-bottom: 20px;
  }
  #news ul{
    font-size: 0.75rem;
  }

  /* LINK */
  #link{
    display: flex;
    flex-direction: column;
  }
  #link img{
    height: 30px;
    margin: 3px;
  }

  /* =============== メンバー =============== */
  #people{
    font-size: 0.8rem;
  }
  table{
    width: 100%;
  }
  table th, table td{
    padding: 5px;
  }
  #people h2{
    font-size: 1rem;
    border-left: 8px solid teal;
    padding-left: 8px;
    margin-bottom: 15px;
  }
  #people p{
    margin-bottom: 20px;
  }
  .grad-name{
    width: 100px;
  }

  /* =============== 研究内容 =============== */
  #research{
    font-size: 0.9rem;
  }
  #research h2{
    font-size: 1rem;
    border-left: 8px solid teal;
    padding-left: 8px;
  }
  #research section{
    margin: 0px 0px 20px;
  }
  .research-flex{
    display: flex;
    flex-direction:column;
  }
  .text{
    width: 100%;
    margin-bottom: 10px;
  }
  .figure{
    width: auto;
  }
  #research p{
    padding: 5px;
  }
  #research h3{
    font-size: 0.75rem;
    padding: 5px;
    border-bottom: 1px solid teal;
  }

  /* =============== 研究業績 =============== */
  #results{
    font-size: 0.8rem;
  }
  #results h2{
    font-size: 1rem;
    border-left: 8px solid teal;
    padding-left: 8px;
  }
  #results h3{
    font-size: 0.8rem;
    padding: 5px;
    border-bottom: 1px solid teal;
  }
  #results ol{
    margin-left: 20px;
  }
  #results ol li{
    padding: 5px;
  }
  #results div{
    margin-bottom: 10px;
  }

  /* =============== アルバム =============== */
  #album{
    font-size: 0.8rem;
  }
  #album h2{
    font-size: 1rem;
    border-left: 8px solid teal;
    padding-left: 8px;
  }
  .album-grid{
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 8px;
    margin: 8px;
  }
  #album div{
    margin-bottom: 10px;
  }

  /* =============== アクセス =============== */
  #access{
    font-size: 0.8rem;
  }
  #access h2{
    font-size: 1rem;
    border-left: 8px solid teal;
    padding-left: 8px;
  }
  #access p{
    padding: 2px;
  }
  #access h3{
    font-size: 0.75rem;
    padding: 2px;
  }
  #access section{
    margin: 0px 0px 20px;
  }
  .location-map iframe{
    height: 300px;
  }
}
