@charset "utf-8";

/*PC用*/
@media (width > 640px) {
  .pc {
    display: block !important
  }

  .sp {
    display: none !important
  }

  .h_menu,
  #sp_global_nav {
    display: none;
  }

  /* TOP */
  #top .common_ttl {
    font-size: 16px;
    text-align: center;
    font-weight: normal;
    letter-spacing: 1px;
    margin-bottom: 37px;
  }

  #top .common_ttl span {
    display: block;
    font-size: 42px;
    color: #173292;
    letter-spacing: 3px;
    margin-bottom: 5px;
  }


  .topVisual {
    background-image: url("../images/top/visual_bg.webp");
    background-size: cover;
    margin: 64px auto 56px;
    width: 1150px;
    aspect-ratio: 30 / 7;

    display: grid;
    place-content: center;
  }
  .topVisualTitle {
    --cut-size: 90px;

    background-color: #00004b;
    background-image: linear-gradient(to right, #173292, #00004b);
    color: #fff;
    font-size: 26px;
    font-weight: bold;
    letter-spacing: 0.05em;
    padding: 2px calc(var(--cut-size) + 64px);
    clip-path: polygon(
      var(--cut-size) 0,
      100% 0,
      calc(100% - var(--cut-size)) 100%,
      0 100%
      );
  }


  #top .top_news {
    margin-bottom: 127px;
  }

  #top .top_news .inner {
    margin: 0 auto 0;
    width: 1150px;
    position: relative;
  }

  /*#top .top_news .inner:before { content: ""; width: 146px; height: 111px; display: inline-block; background: url(../images/common/box_bg01.png); position: absolute; top: 45px; right: -101px; z-index: 1; }
	#top .top_news .inner:after { content: ""; width: 150px; height: 100px; display: inline-block; background: url(../images/common/box_bg02.png); position: absolute; bottom: 29px; left: -87px; z-index: 1; }
	*/
  #top .top_news .inner ul.news_list {
    border-top: 2px solid #dbdbdb;
    border-bottom: 2px solid #dbdbdb;
    margin-bottom: 61px;
    position: relative;
    z-index: 2;
  }

  #top .top_news .inner ul.news_list li {
    border-bottom: 1px solid #dbdbdb;
    font-size: 14px;
    background: #fff url(../images/common/arrow01.png)no-repeat right 35px center;
  }

  #top .top_news .inner ul.news_list li:last-child {
    border-bottom: none;
  }

  #top .top_news .inner ul.news_list li a {
    padding: 23px 61px 27px 42px;
    display: flex;
    display: -webkit-flex;
    display: -moz-flex;
    justify-content: space-between;
    -webkit-justify-content: space-between;
    -moz-justify-content: space-between;
  }

  #top .top_news .inner ul.news_list li .pdf_ico .news_ttl:after {
    content: "";
    width: 15px;
    height: 17px;
    background: url(../images/common/pdf_ico.png);
    display: inline-block;
    margin-left: 9px;
    vertical-align: sub;
  }

  #top .top_news .inner ul.news_list li:hover {
    background: #f3faff url(../images/common/arrow01.png)no-repeat right 35px center
  }

  #top .top_news .inner ul.news_list li p.date {
    width: 190px;
    letter-spacing: 1px;
  }

  #top .top_news .inner ul.news_list li p.news_ttl {
    width: 900px;
    letter-spacing: 1px;
  }

  #top .top_news .inner ul.news_list li p.news_ttl a {
    letter-spacing: 1px;
  }

  #top .top_news .inner ul.news_list li a.out_link p.news_ttl:after {
    content: '';
    width: 14px;
    height: 14px;
    background: url(../images/common/link_ico.png);
    display: inline-block;
    margin-left: 5px;
  }

  #top .top_news .inner p.more {
    margin: 0 auto;
    width: 420px;
    height: 72px;
    background-color: #173292;
    background-image: linear-gradient(to left, #173292, #00004b);
    border-radius: 50px;
    box-sizing: border-box;
    transition: 0s;
    -moz-transition: 0s;
    -webkit-transition: 0s;
    -o-transition: 0s;
  }

  #top .top_news .inner p.more:hover {}

  #top .top_news .inner p.more a {
    text-align: center;
    color: #fff;
    background: url(../images/common/arrow02.png)no-repeat top 30px right 164px;
    display: block;
    padding: 22px 31px 0 0px;
    box-sizing: border-box;
    font-weight: bold;
    font-size: 18px;
    letter-spacing: 2px;
    height: 72px;
    transition: 0.3s;
    -moz-transition: 0.3s;
    -webkit-transition: 0.3s;
    -o-transition: 0.3s;
    border-radius: 50px;
  }

  #top .top_news .inner p.more a:hover {
    border: 2px solid #0964dd;
    padding: 20px 31px 0 0px;
    background: #fff url(../images/common/arrow01.png)no-repeat top 28px right 162px;
    color: #0b65dd;
  }

  #top .top_labo {
    background: #f1f1f1;
    padding: 89px 0 124px;
    margin-bottom: 108px;
  }

  #top .top_labo .inner {
    margin: 0 auto;
    width: 1150px;
    position: relative;
  }

  #top .top_labo .inner:before {
    content: "";
    width: 482px;
    height: 327px;
    display: inline-block;
    /* background: url(../images/common/box_bg03.png); */
    position: absolute;
    right: -431px;
    top: -26px;
    z-index: 1;
  }

  #top .top_labo .inner:after {
    content: "";
    width: 311px;
    height: 234px;
    display: inline-block;
    /* background: url(../images/common/box_bg04.png)no-repeat; */
    position: absolute;
    left: -324px;
    bottom: -61px;
    z-index: 1;
  }

  #top .top_labo .common_ttl span {
    margin-bottom: 11px;
  }

  #top .top_labo ul.labo_list {
    border-top: 2px solid #dbdbdb;
    border-bottom: 2px solid #dbdbdb;
    margin: 0 auto 62px;
    width: 1150px;
    position: relative;
    z-index: 2;
  }

  #top .top_labo ul.labo_list li {
    border-bottom: 1px solid #dbdbdb;
    font-size: 14px;
    background: #fff url(../images/common/arrow01.png)no-repeat right 35px center;
  }

  #top .top_labo ul.labo_list li:hover {
    background: #f3faff url(../images/common/arrow01.png)no-repeat right 35px center;
  }

  #top .top_labo ul.labo_list li:last-child {
    border-bottom: none;
  }

  #top .top_labo ul.labo_list li a {
    display: flex;
    display: -webkit-flex;
    display: -moz-flex;
    justify-content: space-between;
    -webkit-justify-content: space-between;
    -moz-justify-content: space-between;
    padding: 25px 41px 24px;
  }

  #top .top_labo ul.labo_list li p.date {
    width: 190px;
    letter-spacing: 1px;
  }

  #top .top_labo ul.labo_list li p.labo_ttl.out_link {
    width: 900px;
    letter-spacing: 1px;
  }

  #top .top_labo ul.labo_list li p.labo_ttl.out_link a {
    letter-spacing: 1px;
  }

  #top .top_labo ul.labo_list li p.labo_ttl.out_link:after {
    content: '';
    width: 15px;
    height: 17px;
    background: url(../images/common/pdf_ico.png);
    display: inline-block;
    margin-left: 9px;
    vertical-align: sub;
  }

  #top .top_labo p.more {
    margin: 0 auto;
    width: 420px;
    height: 72px;
    background-color: #173292;
    background-image: linear-gradient(to left, #173292, #00004b);
    border-radius: 50px;
    box-sizing: border-box;
    transition: 0s;
    -moz-transition: 0s;
    -webkit-transition: 0s;
    -o-transition: 0s;
  }

  #top .top_labo p.more a {
    text-align: center;
    color: #fff;
    background: url(../images/common/arrow02.png)no-repeat top 30px right 164px;
    display: block;
    padding: 22px 31px 0 0px;
    box-sizing: border-box;
    font-weight: bold;
    font-size: 18px;
    letter-spacing: 2px;
    height: 72px;
    transition: 0.3s;
    -moz-transition: 0.3s;
    -webkit-transition: 0.3s;
    -o-transition: 0.3s;
    border-radius: 50px;
  }

  #top .top_labo p.more a:hover {
    border: 2px solid #0964dd;
    padding: 20px 31px 0 0px;
    background: #fff url(../images/common/arrow01.png)no-repeat top 28px right 162px;
    color: #0b65dd;
  }

  #top .end_sec {
    /* background: #ededed url(../images/top/bottom_bg.webp)no-repeat top center / cover; */
  }

  #top .end_sec .top_link .common_ttl {
    margin-bottom: 80px;
  }
  #top .end_sec .top_link .common_ttl span.f_arial {}
  #top .end_sec .top_link ul.link_list {
    display: flex;
    display: -webkit-flex;
    display: -moz-flex;
    justify-content: space-between;
    -webkit-justify-content: space-between;
    -moz-justify-content: space-between;
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    margin: 0px auto 96px;
    width: 1150px;
  }
  #top .end_sec .top_link ul.link_list li {
    margin-bottom: 56px;
    background: #000;
  }
  #top .end_sec .top_link ul.link_list li a img {
    transition: 0.3s;
    -moz-transition: 0.3s;
    -webkit-transition: 0.3s;
    -o-transition: 0.3s;
  }

  .top_link2 {}
  .top_link2__title {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
  }
  .top_link2__list {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 24px;
    margin: 0px auto 96px;
    width: 1150px;
  }
  .top_link2__list li {
    background: #000;
    flex: 1;
    text-align: center;
  }
  .top_link2__list li a {
    display: block;
    height: 100%;
    position: relative;
    overflow: hidden;
  }
  .top_link2__list li a img {
    aspect-ratio: 2 / 1;
    width: 100%;
    object-fit: cover;
    display: block;
    transition: 0.3s;
  }
  .top_link2__list li a span {
    font-size: 20px;
    letter-spacing: 0.05em;
    position: absolute;
    inset: 0;
    z-index: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 24px;
    color: #fff;
    text-shadow: 2px 2px 2px rgb(0 0 0 / 0.7),
    2px -2px 2px rgb(0 0 0 / 0.7),
    -2px 2px 2px rgb(0 0 0 / 0.7),
    -2px -2px 2px rgb(0 0 0 / 0.7);
    font-weight: bold;
  }

  /*footer*/
  /* →commonでまとめる */


  /* greeting */
  #greeting .under_mv {
    background: url(../images/greeting/main_image.jpg) center;
    display: none;
  }

  #greeting .box01.greeting_box {
    margin-bottom: 120px;
  }

  #greeting .box01.greeting_box .photo {
    float: right;
    margin: 0 0 19px 36px;
  }

  #greeting .box01.greeting_box p {
    clear: left;
    width: 100%;
    font-feature-settings: normal;
    letter-spacing: 1px;
  }

  #greeting .box01.greeting_box .box_txt {
    text-align: right;
    margin-top: 50px;
  }

  #greeting .box02.bio_box .common_ttl {
    padding-bottom: 20px;
  }

  #greeting .box02.bio_box .common_ttl span.f_times {
    margin-bottom: 13px;
  }

  #greeting .entry table {
    border: none;
  }

  #greeting .entry table tr {
    border: none;
  }

  #greeting .entry table tr td {
    padding: 6px 0 6px 9%;
  }

  /* bio */
  #bio .under_mv {
    background: url(../images/bio/main_image.jpg) center;
  }

  #bio .box01.what_box {
    margin-bottom: 71px;
  }

  #bio .bio_img01 {
    margin: 80px auto 175px;
    width: 950px;
  }

  /* career */
  #career .under_mv {
    background: url(../images/career/main_image.jpg) center;
  }

  #career .career_img01 {
    margin: 140px auto 130px;
    width: 950px;
  }

  /* research */
  #research .under_mv {
    background: url(../images/research/main_image.jpg) center;
  }

  #research .photo {
    float: left;
    margin: 0 34px 20px 0;
  }

  /* practice */
  #practice .under_mv {
    background: url(../images/practice/main_image.jpg) center;
  }

  /* access */
  #access .under_mv {
    background: url(../images/access/main_image.jpg) center;
  }

  #access .entry a {
    color: #2959a5;
    vertical-align: super;
    margin-left: 3px;
  }

  #access .entry .access_img01 {
    margin: 0 auto 30px;
  }

  #access .entry .access_img01 img {
    object-fit: cover;
    height: 410px;
    width: 100%;
    object-position: 50% 25%;
  }

  /* member */
  #member .under_mv {
    background: url(../images/member/main_image.jpg) center;
  }

    #member .entry .member_table tbody tr td {
    /* padding: 13px 0 5px 9%; */
    padding: 8px 0 8px 24px;
  }
  #member .entry .member_table tbody tr th {
    padding: 8px 24px 8px 0;
    text-align: left;
    white-space: nowrap;
  }

  #member .box01.profe_box .inner {
    margin-bottom: 90px;
  }

  #member .box01.profe_box .inner .profe_list ul {
    border-top: 2px solid #dbdbdb;
    border-bottom: 2px solid #dbdbdb;
  }

  #member .box01.profe_box .inner .profe_list ul li {
    border-bottom: 1px solid #dbdbdb;
    padding: 26px 20px 25px 230px;
  }

  #member .box01.profe_box .inner .profe_list ul li span {
    background: url(../images/common/dot01.png)no-repeat left center;
  }

  #member .box01.profe_box .inner .profe_list ul li:last-child {
    border: none;
  }

  #member .box01.profe_box .inner .profe_list ul li a {
    margin-left: 70px;
  }

  #member .box03.student_box .inner .student_wrap {
    background: #fff;
    display: flex;
    display: -webkit-flex;
    display: -moz-flex;
    justify-content: space-between;
    -webkit-justify-content: space-between;
    -moz-justify-content: space-between;
    padding: 26px 70px 15px;
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    position: relative;
    z-index: 3;
  }

  #member .box03.student_box .inner .student_wrap .inner_box {
    width: 388px;
    margin-bottom: 24px;
  }

  #member .box03.student_box .inner .student_wrap .inner_box h4 {
    margin-bottom: 18px;
  }

  #member .box03.student_box .inner .student_wrap .inner_box ul li {
    padding-left: 25px;
    margin-bottom: 9px;
  }

  #member .box01.secre_box .inner {
    margin: 95px auto 85px;
  }

  #member .box01.secre_box .inner h3 {
    margin-bottom: 75px;
  }

  #member .box01.secre_box .inner ul.flex {
    margin: 0 auto;
    width: 250px;
  }

  #member .box02.ob_box {
    padding: 100px 0 88px;
  }

  #member .box02.ob_box .inner h3 {
    margin-bottom: 47px;
  }

  #member .box02.ob_box .inner .ob_wrap {
    background: #fff;
    padding: 51px 56px 25px;
    display: flex;
    display: -webkit-flex;
    display: -moz-flex;
    justify-content: space-between;
    -webkit-justify-content: space-between;
    -moz-justify-content: space-between;
    position: relative;
    z-index: 2;
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
  }

  #member .box02.ob_box .inner .ob_wrap .inner_box {
    min-width: 325px;
    margin-bottom: 20px;
  }

  #member .box02.ob_box .inner .ob_wrap .inner_box h4 {
    margin-bottom: 18px;
  }

  #member .box02.ob_box .inner .ob_wrap .inner_box ul li {
    padding-left: 25px;
    margin-bottom: 9px;
  }

  #member .entry table {
    border: none;
  }

  #member .entry table tbody tr {
    border: none;
  }

  /* entrance */
  #entrance .under_mv {
    background: url(../images/entrance/main_image.jpg) center;
  }

  #entrance .entry a {
    color: #2959a5;
  }

  #entrance .entry .address img {
    margin-left: 3px;
    vertical-align: middle;
  }

  #entrance .box01 .inner .box01_wrap .common_entrance {
    display: flex;
    display: -webkit-flex;
    display: -moz-flex;
    justify-content: space-between;
    -webkit-justify-content: space-between;
    -moz-justify-content: space-between;
    border-bottom: 1px solid #bbb;
    padding-bottom: 30px;
    margin: 33px 0 24px;
  }

  #entrance .box01 .inner .box01_wrap .entrance01.common_entrance .info_box {
    width: 550px;
  }

  #entrance .box01 .inner .box01_wrap .entrance01.common_entrance .info_box p.box_txt01 span {
    display: block;
    padding-left: 15px;
  }

  #entrance .box01 .inner .box01_wrap .entrance01.common_entrance p.right_img {
    width: 350px;
  }

  /* collaborative */
  #collaborative .box01_wrap p a {
    font-size: 17px;
    color: #2959a5;
    vertical-align: middle;
    margin-left: 5px;
  }

  /* links */
  #links .box01_wrap li a {
    color: #2959a5;
  }

  /* archivement_list */
  .entry.archivement_list .pdf_list {
    border-top: 2px solid #dbdbdb;
    border-bottom: 2px solid #dbdbdb;
    margin: 0 auto 41px;
    width: 950px;
    position: relative;
    z-index: 2;
  }

  .entry.archivement_list .pdf_list li {
    border-bottom: 1px solid #dbdbdb;
    font-size: 14px;
    background: #fff url(../images/common/arrow01.png)no-repeat right 35px center;
    margin-bottom: 0;
  }

  .entry.archivement_list .pdf_list li:hover {
    background: #f3faff url(../images/common/arrow01.png)no-repeat right 35px center;
  }

  .entry.archivement_list .pdf_list li:last-child {
    border-bottom: none;
  }

  .entry.archivement_list .pdf_list li a {
    display: flex;
    display: -webkit-flex;
    display: -moz-flex;
    justify-content: space-between;
    -webkit-justify-content: space-between;
    -moz-justify-content: space-between;
    padding: 25px 41px 24px;
  }

  .entry.archivement_list .pdf_list li a .date {
    width: 190px;
    letter-spacing: 1px;
    margin-bottom: 0;
  }

  .entry.archivement_list .pdf_list li a .labo_ttl.out_link {
    width: 900px;
    letter-spacing: 1px;
    margin-bottom: 0;
    padding-right: 22px;
  }

  .entry.archivement_list .pdf_list li a .labo_ttl.out_link:after {
    content: '';
    width: 15px;
    height: 17px;
    background: url(../images/common/pdf_ico.png);
    display: inline-block;
    margin-left: 9px;
    vertical-align: sub;
  }

  /* news */
  #news .under_mv {
    background: url(../images/news/main_image.jpg) center;
  }

  .entry.news_wrap ul.news_list {
    border-top: 2px solid #dbdbdb;
    border-bottom: 2px solid #dbdbdb;
    margin: 0 auto 35px;
    width: 950px;
  }

  .entry.news_wrap ul.news_list li {
    border-bottom: 1px solid #dbdbdb;
    font-size: 14px;
    background: #fff url(../images/common/arrow01.png)no-repeat right 35px center;
    margin-bottom: 0;
  }

  .entry.news_wrap ul.news_list li:hover {
    background: #f3faff url(../images/common/arrow01.png)no-repeat right 35px center;
  }

  .entry.news_wrap ul.news_list li:last-child {
    border-bottom: none;
  }

  .entry.news_wrap ul.news_list li a {
    display: flex;
    display: -webkit-flex;
    display: -moz-flex;
    justify-content: space-between;
    -webkit-justify-content: space-between;
    -moz-justify-content: space-between;
    padding: 25px 79px 24px 41px;
  }

  .entry.news_wrap ul.news_list li a p.date {
    width: 190px;
    letter-spacing: 1px;
    margin-bottom: 0;
  }

  .entry.news_wrap ul.news_list li a p.news_ttl {
    width: 900px;
    letter-spacing: 1px;
    margin-bottom: 0;
  }

  .entry.news_wrap ul.news_list li a.out_link p.news_ttl:after {
    content: '';
    width: 14px;
    height: 14px;
    background: url(../images/common/link_ico.png);
    display: inline-block;
    margin-left: 5px;
  }

  #news .entry .box01 .inner {
    margin-bottom: 150px;
  }

  .entry.news_wrap ul.news_list li .pdf_ico .news_ttl:after {
    content: "";
    width: 15px;
    height: 17px;
    background: url(../images/common/pdf_ico.png);
    display: inline-block;
    margin-left: 9px;
    vertical-align: sub;
  }

  /* english */
  #english .under_mv {
    background: url(../images/english/main_image.jpg) center;
  }
  #english h2 {
    letter-spacing: 1px;
  }
  #english .eng_wrap {
    display: flex;
    display: -webkit-flex;
    display: -moz-flex;
    justify-content: space-between;
    -webkit-justify-content: space-between;
    -moz-justify-content: space-between;
  }
  #english .eng_wrap .box_inner01 {
    width: 575px;
  }
  #english .eng_wrap .box_inner02 {
    width: 270px;
    margin-top: 75px;
  }
  #english .eng_wrap .box_inner02 p {
    margin-bottom: 25px;
  }
  #english .entry ul li a {
    color: #2959a5;
    text-decoration: underline;
  }

  /* english-test */
  #english-test .under_mv {
    background: url(../images/english/main_image.jpg) center;
  }
  #english-test h2 {
    letter-spacing: 1px;
  }
  #english-test .eng_wrap {
    display: flex;
    display: -webkit-flex;
    display: -moz-flex;
    justify-content: space-between;
    -webkit-justify-content: space-between;
    -moz-justify-content: space-between;
  }
  #english-test .eng_wrap .box_inner01 {
    width: 575px;
  }
  #english-test .eng_wrap .box_inner02 {
    width: 270px;
    margin-top: 75px;
  }
  #english-test .eng_wrap .box_inner02 p {
    margin-bottom: 25px;
  }
  #english-test .entry ul li a {
    color: #2959a5;
    text-decoration: underline;
  }


  /* works */
  #works .under_mv {
    background: url(../images/works/main_image.jpg) center;
  }

  #works .tab_box {
    display: none;
  }

  #works .tab_box.active_box {
    display: block;
  }

  #works .btn_wrap {
    display: flex;
    display: -webkit-flex;
    display: -moz-flex;
    justify-content: space-between;
    -webkit-justify-content: space-between;
    -moz-justify-content: space-between;
    border-bottom: 2px solid #dbdbdb;
    padding-bottom: 27px;
    margin-bottom: 30px;
  }

  #works .btn_wrap .tab_btn.active_btn {
    /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#2678df+0,5da0e5+100 */
    background: #2678df;
    /* Old browsers */
    background: -moz-linear-gradient(left, #2678df 0%, #5da0e5 100%);
    /* FF3.6-15 */
    background: -webkit-linear-gradient(left, #2678df 0%, #5da0e5 100%);
    /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to right, #2678df 0%, #5da0e5 100%);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#2678df', endColorstr='#5da0e5', GradientType=1);
    /* IE6-9 */
    color: #fff;
  }

  #works .btn_wrap .tab_btn {
    display: block;
    width: 180px;
    background: #ededed;
    text-align: center;
    font-size: 24px;
    font-weight: bold;
    padding: 4px 0 3px;
    letter-spacing: 1px;
  }
}

