@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&family=Noto+Serif+JP:wght@500;900&display=swap");
/*-----------------------------------------------------------------
@mixin
------------------------------------------------------------------*/
/*メディアクエリ*/
/*vwに変換*/
/*-----------------------------------------------------------------
タイトル背景
------------------------------------------------------------------*/
.page_title_wrap {
  background-image: url(../../images/laboratory/bg-laboratory-pc.jpg);
}
@media (max-width: 860px) {
  .page_title_wrap {
    background-image: url(../../images/laboratory/bg-laboratory-sp.jpg);
  }
}

/*-----------------------------------------------------------------
研究室 - 親ページ
------------------------------------------------------------------*/
.laboratory_list {
  margin: 80px 0;
}
@media (max-width: 600px) {
  .laboratory_list {
    margin-top: 40px;
    margin-top: 6.6666666667vw;
    margin-bottom: 40px;
    margin-bottom: 6.6666666667vw;
  }
}

/*-----------------------------------------------------------------
研究室 - 子ページ
------------------------------------------------------------------*/
/*研究室選択ボタン*/
.lab_btn_list {
  display: flex;
  justify-content: center;
  margin: 0 auto;
}
@media (max-width: 600px) {
  .lab_btn_list {
    flex-direction: column;
  }
}
.lab_btn_list li {
  width: 286px;
  height: 160px;
  text-align: center;
  margin: 10px;
  position: relative;
  /*矢印*/
}
@media (max-width: 860px) {
  .lab_btn_list li {
    width: 226px;
    height: 203px;
  }
}
@media (max-width: 600px) {
  .lab_btn_list li {
    width: 100%;
    height: 90px;
    margin: 5px auto;
  }
}
.lab_btn_list li .lab_btn {
  color: #333;
  display: block;
  padding-top: 24px;
  height: 100%;
  border: 1px solid #2790C4;
}
.lab_btn_list li .lab_btn:hover {
  background: linear-gradient(96deg, #004567 0%, #2790C4 100%) 0% 0%;
  transition: 0.3s;
  opacity: 0.6;
  color: #fff;
}
@media (max-width: 860px) {
  .lab_btn_list li .lab_btn {
    padding-top: 30px;
  }
}
@media (max-width: 600px) {
  .lab_btn_list li .lab_btn {
    padding-top: 10px;
  }
}
.lab_btn_list li .lab_name {
  font-size: 2.4rem;
  margin: 0 0 0.3em;
}
@media (max-width: 860px) {
  .lab_btn_list li .lab_name {
    font-size: 2rem;
    margin: 0 0 1em;
  }
}
@media (max-width: 600px) {
  .lab_btn_list li .lab_name {
    font-size: 20px;
    font-size: 3.3333333333vw;
    margin-bottom: 6px;
  }
}
.lab_btn_list li .lab_summary {
  font-size: 1.6rem;
  line-height: 1.7;
}
@media (max-width: 860px) {
  .lab_btn_list li .lab_summary {
    font-size: 14px;
    font-size: 1.6279069767vw;
  }
}
@media (max-width: 600px) {
  .lab_btn_list li .lab_summary {
    font-size: 1rem;
    line-height: 1.4;
  }
}
.lab_btn_list li::before {
  content: "";
  width: 18px;
  height: 18px;
  border-top: solid 3px #2790C4;
  border-right: solid 3px #2790C4;
  position: absolute;
  bottom: 18px;
  left: 50%;
  transform: translateX(-50%) rotate(135deg);
  -webkit-transform: translateX(-50%) rotate(135deg);
  -ms-transform: translateX(-50%) rotate(135deg);
}
@media (max-width: 860px) {
  .lab_btn_list li::before {
    bottom: 35px;
  }
}
@media (max-width: 600px) {
  .lab_btn_list li::before {
    width: 10px;
    height: 10px;
    bottom: 10px;
  }
}

/*ボタン２列の時の折返し*/
.lab_btn_list.rows2 {
  width: 620px;
  flex-flow: wrap;
}
@media (max-width: 860px) {
  .lab_btn_list.rows2 {
    width: 500px;
  }
}
@media (max-width: 600px) {
  .lab_btn_list.rows2 {
    width: auto;
  }
}

/*各研究室*/
.lab_detail_list {
  max-width: 1160px;
  margin: 80px auto;
  /*外部リンクボタン*/
  /*リンク-研究室ホームページ*/
  /*リンク-研究室の紹介ムービー*/
  /*リンク-研究室ホームページ・研究室の紹介ムービー SP表示*/
  /*リンク-教員プロフィール*/
}
.lab_detail_list .lab_detail {
  margin-bottom: 60px;
}
.lab_detail_list .lab_detail_title {
  display: flex;
  /*リンクで移動した時の位置調整*/
  padding-top: 100px;
  margin-top: -100px;
}
@media (max-width: 600px) {
  .lab_detail_list .lab_detail_title {
    font-size: 28px;
    font-size: 4.6666666667vw;
  }
}
.lab_detail_list .lab_detail_title::before, .lab_detail_list .lab_detail_title::after {
  bottom: -12px;
}
@media (max-width: 600px) {
  .lab_detail_list .lab_detail_title::before, .lab_detail_list .lab_detail_title::after {
    bottom: -16px;
  }
}
.lab_detail_list .lab_external_linkbtn {
  height: 30px;
  margin: 4px 0 0 30px;
  position: relative;
  z-index: 1;
}
@media (max-width: 600px) {
  .lab_detail_list .lab_external_linkbtn {
    height: 30px;
    height: 5vw;
    margin-left: 15px;
  }
}
.lab_detail_list .lab_external_linkbtn a {
  color: #2790C4;
  font-size: 1.6rem;
  font-weight: 400;
  border: 1px solid #2790C4;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 20px;
  width: 100%;
  height: 100%;
}
@media (max-width: 860px) {
  .lab_detail_list .lab_external_linkbtn a {
    font-size: 1.2rem;
  }
}
.lab_detail_list .lab_external_linkbtn a::after {
  content: "";
  width: 17px;
  height: 17px;
  margin-left: 4px;
  background-size: contain;
  background-repeat: no-repeat;
}
@media (max-width: 600px) {
  .lab_detail_list .lab_external_linkbtn a::after {
    width: 17px;
    width: 2.8333333333vw;
    height: 17px;
    height: 2.8333333333vw;
  }
}
.lab_detail_list .lab_external_linkbtn a:hover {
  background: linear-gradient(96deg, #004567 0%, #2790C4 100%) 0% 0%;
  transition: 0.3s;
  opacity: 0.6;
  color: #fff;
}
@media (max-width: 600px) {
  .lab_detail_list .lab_external_linkbtn a {
    font-size: 16px;
    font-size: 2.6666666667vw;
  }
}
.lab_detail_list .hp_link a::before {
  content: "研究室ホームページ";
}
.lab_detail_list .hp_link a::after {
  background-image: url(../../images/laboratory/link-hp.png);
}
.lab_detail_list .hp_link a:hover::after {
  background-image: url(../../images/laboratory/link-hp-hover.png);
}
.lab_detail_list .movie_link a::before {
  content: "研究室の紹介ムービー";
}
.lab_detail_list .movie_link a::after {
  background-image: url(../../images/laboratory/link-movie.png);
}
.lab_detail_list .movie_link a:hover::after {
  background-image: url(../../images/laboratory/link-movie-hover.png);
}
@media (max-width: 600px) {
  .lab_detail_list .hp_link,
  .lab_detail_list .movie_link {
    margin: 0 0 0 15px;
  }
  .lab_detail_list .hp_link a,
  .lab_detail_list .movie_link a {
    padding: 12px 30px;
  }
  .lab_detail_list .hp_link a::before,
  .lab_detail_list .movie_link a::before {
    content: "";
  }
  .lab_detail_list .hp_link a::after,
  .lab_detail_list .movie_link a::after {
    margin: 0;
    width: 20px;
    height: 20px;
  }
}
.lab_detail_list .professor_link a::before {
  content: "教員プロフィール";
}
.lab_detail_list .professor_link a::after {
  background-image: url(../../images/laboratory/link-profile.png);
}
.lab_detail_list .professor_link a:hover::after {
  background-image: url(../../images/laboratory/link-profile-hover.png);
}
@media (max-width: 600px) {
  .lab_detail_list .professor_link {
    margin-left: 10px;
  }
}

/*教員名*/
.professor_list {
  margin: 20px 0;
}

.professor_name {
  display: flex;
  align-items: baseline;
  font-size: 2.4rem;
  margin-bottom: 0.3em;
}
@media (max-width: 1200px) {
  .professor_name {
    font-size: 24px;
    font-size: 2vw;
  }
}
@media (max-width: 860px) {
  .professor_name {
    font-size: 2.4rem;
  }
}
@media (max-width: 600px) {
  .professor_name {
    font-size: 24px;
    font-size: 4vw;
  }
}
.professor_name .side_position {
  font-size: 1.6rem;
  font-weight: 500;
}
@media (max-width: 600px) {
  .professor_name .side_position {
    font-size: 12px;
    font-size: 2vw;
  }
}

/*教員名-英語表記のサイズ調整*/
@media (max-width: 1200px) {
  .name_en {
    font-size: 20px;
    font-size: 1.6666666667vw;
  }
}
@media (max-width: 860px) {
  .name_en {
    font-size: 2.2rem;
  }
}
@media (max-width: 600px) {
  .name_en {
    font-size: 18px;
    font-size: 3vw;
  }
}

/*教員画像*/
.professor_img_list {
  display: flex;
  justify-content: center;
}
.professor_img_list li {
  margin: 0 5px;
}
.professor_img_list .img_professor {
  width: auto;
  height: 243px;
  -o-object-fit: contain;
     object-fit: contain;
}
@media (max-width: 860px) {
  .professor_img_list .img_professor {
    height: 309px;
    height: 35.9302325581vw;
  }
}
/*専攻・キーワード・キャッチフレーズ*/
.summary_list {
  margin: 40px 0 50px;
  font-size: 1.6rem;
}
@media (max-width: 860px) {
  .summary_list {
    font-size: 1.6rem;
    margin: 30px 0;
  }
}
@media (max-width: 600px) {
  .summary_list {
    font-size: 1.2rem;
    margin: 20px 0;
  }
}
.summary_list dl {
  margin: 1em 0;
  display: flex;
}
.summary_list dt {
  margin: 0;
  width: 150px;
  font-weight: 700;
  position: relative;
}
@media (max-width: 860px) {
  .summary_list dt {
    width: 150px;
  }
}
@media (max-width: 600px) {
  .summary_list dt {
    width: 110px;
  }
}
.summary_list dt::after {
  content: "：";
  position: absolute;
  right: 0;
}
.summary_list dd {
  margin: 0;
  width: calc(100% - 150px);
}
@media (max-width: 600px) {
  .summary_list dd {
    width: calc(100% - 110px);
  }
}

/*テーマ例*/
.lab_detail_theme {
  font-size: 1.6rem;
  background-color: #f1f1f1;
  padding: 30px 30px 70px;
  /*テーマ例画像*/
  /*テーマ例画像-動画プレビュー*/
  /*テーマ例画像-height250px*/
  /*テーマ例画像-height214px*/
  /*テーマ例画像-tab時width700px*/
  /*テーマ例画像-tab時width600px*/
  /*概要*/
}
@media (max-width: 860px) {
  .lab_detail_theme {
    padding: 20px;
  }
}
@media (max-width: 600px) {
  .lab_detail_theme {
    font-size: 1.2rem;
    padding: 10px;
  }
}
.lab_detail_theme .theme_list {
  font-weight: 700;
  counter-reset: num;
}
.lab_detail_theme .theme_list::before {
  content: "テーマ例";
  font-size: 2rem;
}
@media (max-width: 600px) {
  .lab_detail_theme .theme_list::before {
    font-size: 1.6rem;
  }
}
.lab_detail_theme .theme_list li {
  display: flex;
  margin: 1em 0;
  /*テーマ例番号*/
}
.lab_detail_theme .theme_list li::before {
  counter-increment: num;
  content: counter(num);
  background-color: #333;
  color: #fff;
  border-radius: 50%;
  width: 18px;
  height: 18px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-right: 0.2em;
}
@media (max-width: 600px) {
  .lab_detail_theme .theme_list li::before {
    width: 12px;
    height: 12px;
    font-size: 1rem;
  }
}
.lab_detail_theme .img_list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  max-width: 1000px;
  margin: 0 auto;
}
.lab_detail_theme .img_list li {
  width: auto;
  height: 300px;
  margin: 15px;
}
@media (max-width: 1200px) {
  .lab_detail_theme .img_list li {
    height: 300px;
    height: 25vw;
  }
}
@media (max-width: 860px) {
  .lab_detail_theme .img_list li {
    height: 300px;
    height: 34.8837209302vw;
    margin: 10px 5px;
  }
}
@media (max-width: 600px) {
  .lab_detail_theme .img_list li {
    width: 100%;
    height: auto;
  }
}
.lab_detail_theme .img_list img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.lab_detail_theme .movieShowBtn {
  cursor: pointer;
}
.lab_detail_theme .movieShowBtn:hover {
  opacity: 0.7;
}
.lab_detail_theme .h250 li {
  height: 250px;
}
@media (max-width: 1200px) {
  .lab_detail_theme .h250 li {
    height: 250px;
    height: 20.8333333333vw;
  }
}
@media (max-width: 860px) {
  .lab_detail_theme .h250 li {
    height: 250px;
    height: 29.0697674419vw;
  }
}
@media (max-width: 600px) {
  .lab_detail_theme .h250 li {
    width: 100%;
    height: auto;
  }
}
.lab_detail_theme .h214 li {
  height: 214px;
}
@media (max-width: 1200px) {
  .lab_detail_theme .h214 li {
    height: 214px;
    height: 17.8333333333vw;
  }
}
@media (max-width: 860px) {
  .lab_detail_theme .h214 li {
    height: 214px;
    height: 24.8837209302vw;
  }
}
@media (max-width: 600px) {
  .lab_detail_theme .h214 li {
    width: 100%;
    height: auto;
  }
}
@media (max-width: 860px) {
  .lab_detail_theme .tab_w720 {
    width: 720px;
    width: 83.7209302326vw;
  }
}
@media (max-width: 860px) {
  .lab_detail_theme .tab_w600 {
    width: 600px;
    width: 69.7674418605vw;
  }
}
.lab_detail_theme .overview {
  line-height: 2;
  margin-top: 16px;
}
.lab_detail_theme .overview::before {
  content: "概要";
  font-weight: 700;
}

/*動画表示エリア*/
.movieArea {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  padding: 130px 30px 30px;
  background: rgba(255, 255, 255, 0.9);
  z-index: 1111;
  overflow-y: auto;
  /*閉じるボタン*/
}
@media (max-width: 600px) {
  .movieArea {
    padding: 120px 20px 20px;
  }
}
.movieArea .movie_wrap {
  width: 90%;
  max-width: 1000px;
  margin: 0 auto;
}
@media (max-width: 600px) {
  .movieArea .movie_wrap {
    width: 100%;
  }
}
.movieArea .movie_wrap video {
  width: 100%;
  height: auto;
}
.movieArea .movieCloseBtn {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 2.4rem;
  color: #fff;
  background-color: #ccc;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: none;
  margin: 20px 0 10px auto;
  cursor: pointer;
  opacity: 0.9;
}
.movieArea .movieCloseBtn:hover {
  background-color: #136893;
  color: #fff;
}

/*動画を表示中に背景を固定*/
body.fixed {
  height: 100%;
  overflow: hidden;
}/*# sourceMappingURL=laboratory.css.map */