@charset "utf-8";

/*　全体設定
================================================================================*/
html {
  scroll-behavior: smooth;
}



 /*　ファーストビュー画像
================================================================================*/
.first-view {
  height: calc(100vh - 160px);
  background-image: url(../images/index/Firstview-Home_2025.webp);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}
.first-view-filter {
  width: 100%;
  height: 100%;
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  opacity: 0;
}
.first-view-filter:hover {
  background: rgba(0, 0, 0, 0.5);
  opacity: 1;
  transition-duration: 0.3s;
}
.movie-link-button-area {
  position: absolute;
  z-index: 100;
}
.movie-link-button-area {
  color: #ffffff;
  opacity: 0.9;
  width: 250px;
  height: 50px;
  text-align: center;
  font-size: 20px;
  border:solid 3px #fff;
  border-radius: 5px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 100px;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight:500;
}
.movie-link-button {
  display: inline-block;
  width: 100%;
  height: 100%;
  line-height: 44px;
}
.movie-link-button-area:hover {
  background-color: #93c80e;
  transition-duration: 0.3s;
}
.first-view-text {
  margin-left: 5%;
  margin-bottom: 20%;
  width: 100%;
  font-size: 2.2vw;
  color: #ffffff;
  font-family: 'Montserrat', sans-serif;
  font-weight: bold;
  text-shadow: 1px 1px 10px #4b2c14;
}



/*　リード文〜研究コンセプト〜
================================================================================*/
.lead {
  margin-top: 150px;
  margin-bottom: 100px;
  max-width: 1200px;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}
.lead-text {
  margin-left: 40px;
  margin-right: 40px;
  font-size: 20px;
  line-height: 1.5;
  font-weight: 500;
}
.lead-text p {
  margin: 5px;
}
.link-button-area_Reserch {
  background-color: #2C2E2C;
  color: #ffffff;
  width: 300px;
  height: 40px;
  text-align: center;
  padding-top: 10px;
  font-size: 22px;
  border-radius: 24px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 150px;
  font-family: 'Poppins', sans-serif;
  font-weight: 500;
}
.link-button-area_Reserch:hover {
  background-color: #93c80e;
  transition-duration: 0.3s;
}



/*　学生の活躍
================================================================================*/
.students-presentation_awards {
  background-color: #fbffee;
  padding: 50px 0px;
  max-width: 1600px;
  margin-left: auto;
  margin-right: auto;
}
.students-presentation_awards-photos {
  margin-left: auto;
  margin-right: auto;
  padding-top: 20px;
}
.students-presentation_awards h2 {
  margin-bottom: 20px;
  text-align: center;
  font-size: 30px;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 700;
}
.students-presentation_awards h2::after {
  content: '';
  display: block;
  width: 30px;
  height: 5px;
  margin-top: 10px;
  margin-left: auto;
  margin-right: auto;
  background-color: #2C2E2C;
}
.students-presentation_awards-photos-lists {
  display: flex;
  overflow: scroll;
}
.students-presentation_awards-photos-lists li {
  flex-shrink: 0;
  width: 330px;
  padding-right: 30px;
  margin-bottom: 10px;
}
.students-presentation_awards-photos-lists li dd {
  line-height: 1.3;
  text-align: justify;
  margin-bottom: 20px;
}
.students-presentation_awards-photos-lists li img {
  width: 300px;
  height: 220px;
  object-fit: cover;
  margin-bottom: 5px;
}
.students-presentation_awards-photos-lists li:first-child {
  margin-left: 30px;
}
.students-presentation_awards li:hover {
  transform: scale(1.1);
  transition-duration: 0.3s;
  opacity: 0.6;
  text-decoration: underline;
}



/*　ニュースとバナーの共通設定
================================================================================*/
.topics_and_links {
  display: flex;
  justify-content: space-between;
  flex-direction:row-reverse;
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 100px;
}



/*　バナーの設定
================================================================================*/
/* 教員リンクバナー部分の設定 ----------*/
.links {
  margin-right: 40px;
  position: relative;
}
.PageLinks {
  width: 100%;
  height: 150px;
  background-color:#e9e9e9;
  margin-bottom: 20px;
  background-repeat: no-repeat;
  border: 1px solid #2C2E2C;
  color: #ffffff;
  text-shadow: 1px 1px 10px #4b2c14;
  position: relative;
}
.ashishido  {
  background-image: url(../images/index/links/atsushishishido.webp);
  background-size: 52%;
  background-position: left bottom;
}
.skubo  {
  background-image: url(../images/index/links/shoichikubo.webp);
  background-size: 44%;
  background-position: right bottom;
}
.ashishido h3 {
  font-size: 20px;
  line-height: 1.1;
  position: absolute;
  top: 45px;
  right: 5%;
}
.skubo h3 {
  font-size: 20px;
  line-height: 1.1;
  position: absolute;
  top: 45px;
  left: 5%;
}
.PageLinks-hover {
  background: rgba(0, 0, 0, 0.55);
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 20;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 18px;
  visibility: hidden;
}
.PageLinks-hover a {
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #ffffff;
  font-weight: 500;
}
.PageLinks:hover .PageLinks-hover {
  visibility: visible;
}
/* 教員リンクバナー部分の設定 ----------*/

/* 関連ページリンクバナーの設定 ----------*/
.banner-lists li{
  margin-bottom: 10px;
}
.banner-lists p{
  font-size: 14px;
  margin-bottom: 3px;
  line-height: 1.3;
}
.banner-lists img {
  width: 350px;
  border: 1px solid #2C2E2C;
}
.banner-lists a:hover {
  opacity: 0.3;
  transition-duration: 0.3s;
}
/* 関連ページリンクバナーの設定 ----------*/

/* NEWS年代リンクサイドメニューの設定 ----------*/
.transparent {
  visibility: hidden;
}
.Links {
  margin-top: 30px;
  position: sticky;
  top: 30px;
}
.Links h4 {
  font-size: 20px;
  margin-bottom: 5px;
}
.Links-inner {
  display: flex;
  flex-direction: column;
  width: 100%;
  font-size: 18px;
  line-height: 1.5;
}
.Links-inner::before {
  content: '';
  width: 100%;
  height: 1px;
  background-color: #2C2E2C;
}
.Links-inner::after {
  content: '';
  width: 100%;
  height: 1px;
  background-color: #2C2E2C;
}
.NEWSTOP {
  width: 100%;
  height: 40px;
  text-align: center;
  padding-top: 6px;
}
.Links-inner ul {
  display: grid;
  grid-template-columns: repeat(3, 80px);
  align-items: center;
  text-align: center;
}
.Links-inner li {
  height: 40px;
}
/* マウスオーバー設定 */
.Links-inner li:hover:first-child {
  border-bottom: 0px;
}
.Links-inner a:hover {
  color: #93c80e;
  font-size: 20px;
  font-weight: bold;
}
/* NEWS年代リンクサイドメニューの設定 ----------*/



/*　NEWSの設定
================================================================================*/
.hidden {
  display: none;
  visibility: hidden;
}
.topics {
  width: 100%;
  margin-right: 70px;
  margin-left: 40px;
  padding: 30px 50px;
  background-color: #f6f6f6;
}
.topics h2 {
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  font-size: 32px;
  margin-bottom: 20px;
}
.topics h2::after {
  content: '';
  display: block;
  width: 100%;
  height: 2px;
  margin-top: 10px;
  background-color: #2C2E2C;
}
.topics-lists li {
  margin-bottom: 20px;
  display: none;
}
.topics-lists li.show {
  display: block;
}
.topics-lists li:hover {
  color: #93c80e;
  transition-duration: 0.3s;
}
.topics-lists li::after {
  content: '';
  display: block;
  width: 100%;
  height: 1px;
  background-color: #a2a2a2;
  margin-top: 20px;
}
.topics-lists li dl dt{
  margin-bottom: 8px;
  font-size: 14px;
}
.topics-lists li dl dd{
  font-size: 18px;
  line-height: 1.3;
}
.photo a {
  display: flex;
  justify-content: space-between;
}
.photo a img {
  width: 200px;
  margin-left: 20px;
}

/* SHOWALLボタンの設定 ----------*/
.more-buton {
  display: block;
  margin-top: 50px;
  margin-left: auto;
  margin-right: auto;
  width: 150px;
  height: 50px;
  background-color:#f6f6f6;
  border-radius: 3px;
  color: #c2c1c1;
  font-family: 'Poppins', sans-serif;
  font-weight: 500;
  font-size: 18px;
  border:3px solid #c2c1c1;
  padding-top: 2px;
  padding-right: 4px;
}
.more-buton:hover {
  cursor: pointer;
  background-color:#93c80e;
  border:3px solid #93c80e;
  color: #ffffff;
  transition-duration: 0.3s;
}
/* SHOWALLボタンの設定 ----------*/

/* NEWS種類分類画像の設定 ----------*/
.award dt::after{
  content: "";
  display: inline-block;
  width: 50px;
  height: 24px;
  background: url(../images/index/news-type/award\ mark_color.webp);
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: middle;
  margin-left: 10px;
}
.award:hover dt::after{
  opacity: 0.5;
  transition-duration: 0.3s;
}
.news dt::after{
  content: "";
  display: inline-block;
  width: 78px;
  height: 24px;
  background: url(../images/index/news-type/news\ mark_color.webp);
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: middle;
  margin-left: 10px;
}
.news:hover dt::after{
  opacity: 0.5;
  transition-duration: 0.3s;
}
.photo dt::after{
  content: "";
  display: inline-block;
  width: 50px;
  height: 23px;
  background: url(../images/index/news-type/photo\ mark_color.webp);
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: middle;
  margin-left: 10px;
}
.photo:hover dt::after{
  opacity: 0.5;
  transition-duration: 0.3s;
}
.photo:hover img {
  opacity: 0.5;
  transition-duration: 0.3s;
}
.award.photo dt::after {
  content: "";
  display: inline-block;
  width: 108px;
  height: 23px;
  background: url(../images/index/news-type/award&photo\ mark_color.webp);
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: middle;
  margin-left: 10px;
}
.award.photo:hover dt::after {
  opacity: 0.5;
  transition-duration: 0.3s;
}
.award.photo:hover img {
  opacity: 0.5;
  transition-duration: 0.3s;
}
.news.photo dt::after {
  content: "";
  display: inline-block;
  width: 136px;
  height: 23px;
  background: url(../images/index/news-type/news&photo\ mark_color.webp);
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: middle;
  margin-left: 10px;
}
.news.photo:hover dt::after {
  opacity: 0.5;
  transition-duration: 0.3s;
}
.news.photo:hover img {
  opacity: 0.5;
  transition-duration: 0.3s;
}
/* NEWS種類分類画像の設定 ----------*/





/*　================================================================================
スマホ・タブレット設定
================================================================================　*/
@media (max-width: 800px) {
  .site-menu ul li:first-child {
    color:#93c80e;
    font-weight: bold;
  }
  .site-menu ul li:first-child::after {
    content: '';
    display: block;
    width: 100%;
    height: 3px;
    background-color:#93c80e;
    margin-top: 5px;
    margin-left: 0%;
    visibility: visible;
  }

@media (max-width: 800px) {  
  .site-menu-en ul li:first-child {
    color:#93c80e;
    font-weight: bold;
  }
  .site-menu-en ul li:first-child::after {
    content: '';
    display: block;
    width: 100%;
    height: 3px;
    background-color:#93c80e;
    margin-top: 5px;
    margin-left: 0%;
    visibility: visible;
  }

  /*　ファーストビュー画像
  ================================================================================*/
  .first-view {
    height: calc(65vh - 110px);
    margin-bottom: 80px;
  }
  .first-view-text {
    margin-left: 12%;
    margin-bottom: 30%;
    width: 100%;
    font-size: 3.5vw;
    color: #ffffff;
    font-family: 'Montserrat', sans-serif;
    font-weight: bold;
    text-shadow: 1px 1px 10px #4b2c14;
  }

  /*　動画リンク
  ================================================================================*/
  .first-view-filter {
    opacity: 1;
  }
  .first-view-filter:hover {
    background: rgba(0, 0, 0, 0);
    opacity: 1;
    transition-duration: 0.3s;
  }
  .movie-link-button-area {
    position: absolute;
    z-index: 100;
  }
  .movie-link-button-area {
    color: #ffffff;
    opacity: 0.9;
    width: 100%;
    height: 30px;
    text-align: center;
    font-size: 16px;
    border:solid 0px #ffffff;
    border-radius: 0px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: -30px;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight:500;
  }
  .movie-link-button {
    display: inline-block;
    width: 100%;
    height: 100%;
    line-height: 27px;
    background-color: rgb(147, 200, 14, 0.85);
  }
  .movie-link-button::before {
    display: block;
    content: "";
    width: 9px;
    height: 2px;
    background: #ffffff;
    transform: rotate(40deg);
    position: absolute;
    top: 11px;
    right: 80px;
  }
  .movie-link-button::after {
    display: block;
    content: "";
    width: 9px;
    height: 2px;
    background: #ffffff;
    transform: rotate(-40deg);
    position: absolute;
    top: 16px;
    right: 80px;
  }
  
  /*　リード文〜研究コンセプト〜
  ================================================================================*/
  .lead {
    margin-top: 50px;
    margin-bottom: 50px;
  }
  .lead-text {
    margin-left: 20px;
    margin-right: 20px;
    font-size: 16px;
    line-height: 1.5;
    font-weight: 400;
  }
  .link-button-area_Reserch {
    width: 300px;
    height: 30px;
    padding-top: 7px;
    font-size: 18px;
    font-weight: 400;
    margin-bottom: 80px;
  }

  /*　学生の活躍
  ================================================================================*/
  .students-presentation_awards {
    padding: 30px 0px;
  }
  .students-presentation_awards h2 {
    margin-bottom: 0px;
    text-align: center;
    font-size: 22px;
    font-weight: 700;
  }
  .students-presentation_awards h2::after {
    height: 3px;
  }
  .students-presentation_awards-photos-lists {
    scroll-snap-type: x mandatory;
    width: 100%;
    display: flex;
    -webkit-overflow-scrolling: touch;
  }
  .students-presentation_awards-photos-lists > li {
    scroll-snap-align: center;
    height: 100%;
    width: 80%;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .students-presentation_awards-photos-lists li {
    padding-left: 20px;
    padding-right: 20px;
  }
  .students-presentation_awards-photos-lists li:first-child {
    margin-left: 10vw;
  }
  .students-presentation_awards-photos-lists li img {
    width: 80vw;
    display: block;
    margin-left: auto;
    margin-right: auto;
  }
  /*　ニュースとバナーの共通設定
  ================================================================================*/
  .topics_and_links {
    flex-direction: column-reverse;
    margin-top: 40px;
    
  }

  /*　バナーの設定
================================================================================*/
  /* 教員リンクバナー部分の設定 ----------*/
  .links {
    width: 100%;
  }
  .PageLinks {
    width: 80%;
    height: 120px;
    margin-left: auto;
    margin-right: auto;
  }
  .ashishido  {
    background-size: 38%;
    background-position: left 0% bottom;
  }
  .skubo  {
    background-size: 30%;
    background-position: right 10% bottom;
  }
  .PageLinks h3 {
    letter-spacing: 1px;
  }
  .PageLinks small {
    letter-spacing: normal;
  }
  .ashishido h3 {
    font-size: 18px;
    line-height: 1.1;
    position: absolute;
    top: 38%;
    right: 5%;
  }
  .PageLinks br:nth-child(3) {
    display: none;
  }
  .skubo h3 {
    font-size: 18px;
    line-height: 1.1;
    position: absolute;
    top: 35%;
    left: 10%;
  }
  /* 教員リンクバナー部分の設定 ----------*/

  /* 関連ページリンクバナーの設定 ----------*/
  .banner-lists p{
    width: 80%;
    margin-left: auto;
    margin-right: auto;
  }
  .banner-lists img {
    width: 80%;
    border: 1px solid #2C2E2C;
    display: block;
    margin-left: auto;
    margin-right: auto;
  }
  .Links {
    display: none;
  }
  /* 関連ページリンクバナーの設定 ----------*/

  /*　NEWSの設定
  ================================================================================*/
  .topics {
    width: 100%;
    margin-right: 0px;
    margin-left: 0px;
    padding: 20px 20px;
    margin-bottom: 50px;
  }
  .topics h2 {
    font-size: 26px;
  }
  .topics-lists li {
    margin-bottom: 10px;
  }
  .topics-lists li::after {
    margin-top: 10px;
  }
  .topics-lists li dl dt{
    margin-bottom: 8px;
    font-size: 12px;
  }
  .topics-lists li dl dd{
    font-size: 16px;
  }
  .photo a img {
    width: 100px;
    object-fit: contain;
    margin-left: 15px;
  }

  /* SHOWALLボタンの設定 ----------*/
  .more-buton {
    width: 300px;
    height: 40px;
    font-size: 18px;
    margin-bottom: 50px;
  }
  /* SHOWALLボタンの設定 ----------*/

  /* NEWS種類分類画像の設定 ----------*/
  .award dt::after{
    width: 40px;
    height: 19px;
    margin-left: 5px;
  }
  .news dt::after{
    width: 62px;
    height: 19px;
    margin-left: 5px;
  }
  .photo dt::after{
    width: 40px;
    height: 19px;
    margin-left: 5px;
  }
  .award.photo dt::after {
    width: 90px;
    height: 21px;
    margin-left: 5px;
  }
  .news.photo dt::after {
    width: 111px;
    height: 19px;
    margin-left: 5px;
  }
  /* NEWS種類分類画像の設定 ----------*/
}






