@charset "utf-8";
/* CSS Document */
@import url("layout.css");
/*==================================================*/
/** body **/
/*==================================================*/
body #main {
  font-size: 1.6rem;
  line-height: 1.8;
  font-weight: 400;
}
/*==================================================*/
/** wrapper **/
/*==================================================*/
#wrapper {}
/*==================================================*/
/** intro_block **/
/*==================================================*/
#intro_block {
  height: 240px;
  background-image: url("../img/intro_bg.jpg");
  position: relative;
  background-position: center center;
  background-size: cover;
  background-attachment: fixed;
  background-repeat: no-repeat;
  margin: 0;
}
#intro_block::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  background: #3B4571;
  background: linear-gradient(90deg, rgba(59, 69, 113, 0.2) 0%, rgba(34, 55, 89, 0.2) 40%, rgba(8, 14, 31, 0.2) 100%);
  background-repeat: repeat;
  z-index: 1;
}
/*カテゴリごとにクラスで背景切り替え*/
#intro_block.about {
  background-image: url("../img/intro_bg_about.jpg");
}
#intro_block.laboratory {
  background-image: url("../img/intro_bg_laboratory.jpg");
}
#intro_block.graduate {
  background-image: url("../img/intro_bg_graduate.jpg");
}
#intro_block.school {
  background-image: url("../img/intro_bg_school.jpg");
  background-position: center 60px;
}
#intro_block.admission {
  background-image: url("../img/intro_bg_admission.jpg");
}
#intro_block.international {
  background-image: url("../img/intro_bg_international.jpg");
  background-position: center 60px;
}
#intro_block.facilities {
  background-image: url("../img/intro_bg_facilities.jpg");
}
#intro_block.examinee {
  background-image: url("../img/intro_bg_examinee.jpg");
}
#intro_block.students {
  background-image: url("../img/intro_bg_students.jpg");
}
#intro_block.alumni {
  background-image: url("../img/intro_bg_alumni.jpg");
}
#intro_block.company {
  background-image: url("../img/intro_bg_company.jpg");
}
#intro_block.others {
  background-image: url("../img/intro_bg_others.jpg");
}
#intro_block.access {
  background-image: url("../img/intro_bg_access.jpg");
}
#intro_block .inner {
  position: relative;
  height: 100%;
}
#intro_block p {
  position: absolute;
  overflow: hidden;
  color: #fff;
  font-size: 2.4rem;
  z-index: 10;
  bottom: 0;
  background-image: url("../img/intro_deco.png"), linear-gradient(to right, #4A7597 0, #203D6A 20%);
  display: inline-block;
  height: 128px;
  padding: 0 64px 0 144px;
  border-radius: 0 25px 0 0;
  background-repeat: no-repeat;
  background-size: 298px, 100%;
  background-position: -200px top, center;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  -webkit-align-items: center;
  align-items: center;
}
@media screen and (max-width: 1537px) {
  #intro_block p {
    padding: 0 64px 0 48px;
  }
}
#intro_block p span {
  color: #fff;
  font-family: 'ZenAntiqueSoft';
  font-size: 1.5rem;
  padding: 0 0 0 10px;
}
/*==================================================*/
/** breadcrumb **/
/*==================================================*/
#breadcrumb {
  background-color: #eaedf9;
  padding: 8px 0;
}
/**/
#breadcrumb ul {
  width: calc(100% - 40px);
  max-width: 1420px;
  margin: 0 auto;
  position: relative;
}
#breadcrumb ul li {
  display: inline-block;
  margin: 0px 35px 10px 0;
  padding: 0px;
  list-style: none;
  font-size: 1.3rem;
  line-height: 1.0em;
  position: relative;
}
#breadcrumb ul li::after {
  position: absolute;
  content: "／";
  margin: 0 15px;
  font-size: 80%;
}
#breadcrumb ul li:last-child::after {
  display: none;
}
#breadcrumb ul li a {
  color: var(--base);
}
/*==================================================*/
/** container **/
/*==================================================*/
#container {
  width: calc(100% - 40px);
  max-width: 1420px;
  margin: 0 auto;
  padding: 40px 0 80px;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
}
/*==================================================*/
/** main **/
/*==================================================*/
main {
  width: 100%;
}
/**/
#main {
  margin: 0;
  padding: 0;
  width: 100%;
}
/*==============================*/
/** h **/
/*==============================*/
#main h1 {
  font-size: 3.6rem;
  font-family: 'NotoSerif JP';
  position: relative;
  margin: 40px 0;
  padding: 0;
  color: var(--base);
}
#main h1::before {
  position: absolute;
  content: "";
  width: 60px;
  height: 1px;
  top: 1em;
  left: -70px;
  background-color: var(--base);
}
#main h2 {
  font-size: 2.5rem;
  font-weight: 500;
  color: #fff;
  background-color: var(--base);
  position: relative;
  margin: 40px 0;
  padding: 15px 20px 15px 35px;
  filter: drop-shadow(0px 0px 3px rgba(0, 0, 0, 0.2));
}
#main h2::before {
  position: absolute;
  content: "";
  width: 20px;
  height: 1px;
  top: 50%;
  left: 0;
  background-color: #fff;
}
#main h2 a {
  color: #fff;
}
#main h3 {
  font-size: 2.3rem;
  /*font-weight: 500;*/
  margin: 40px 0;
  padding: 0 0 10px 0;
  border-bottom: 1px solid var(--base);
  color: var(--base);
}
#main h4 {
  font-size: 2.0rem;
  font-weight: 500;
  color: var(--base);
  margin: 20px 0;
}
#main h5 {
  background-color: #e4eef9;
  display: inline-block;
  padding: 0.3em 0 0.4em 0;
  margin: 15px 0;
  font-size: 1.8rem;
  font-weight: 500;
  color: var(--base);
  line-height: 1.0;
}
#main h6 {
  font-size: 1.8rem;
  font-weight: 500;
  color: #299baa;
  margin: 15px 0;
}
/*==============================*/
/** a **/
/*==============================*/
#main a {
  color: var(--link);
  text-decoration: underline;
  overflow-wrap: break-word;
  word-wrap: break-word; /* 古いブラウザ用 */
}
#main a:visited {
  color: var(--base);
}
/*==============================*/
/** p **/
/*==============================*/
#main p {
  margin: 8px 0;
}
#main table th p, #main table td p {
  margin: 0;
  padding: 0;
}
/*==============================*/
/** pre **/
/*==============================*/
#main pre {
  white-space: normal;
  font-family: inherit;
}
/*==============================*/
/** list **/
/*==============================*/
#main ul, #main ol {}
#main ul li, #main ol li {
  margin: 5px 0;
}
#main ul li::before, #main ol li::before {
  content: '';
  display: inline-block;
  position: absolute;
  left: 0;
}
#main table td ul, #main table td ol {
  margin-top: 10px;
  margin-bottom: 10px;
  padding: 0;
}
/* -------------------- ul*/
#main ul {
  list-style: none;
  margin: 10px 0 10px 15px;
}
#main ul li {
  position: relative;
  padding-left: 22px;
}
#main ul li::before {
  top: 0.9em;
  width: 12px;
  height: 6px;
  background-color: var(--base);
  border-radius: 100vh;
}
/* -------------------- ol*/
#main ol {
  margin: 10px 0 10px 35px;
}
#main ol li {
  padding-left: 3px;
}
/*==============================*/
/** table **/
/*==============================*/
#main table {
  margin: 20px 0;
  width: auto !important;
  height: auto !important;
  border-collapse: separate !important;
}
#main table th, #main table td {
  padding: 15px 20px;
  width: auto !important;
  height: auto !important;
  font-size: 90%;
  vertical-align: middle;
}
#main table th, #main table thead th {
  font-weight: 500;
  background-color: var(--nv);
  color: #fff;
  text-align: center;
}
#main table tbody th {
  background-color: var(--pale);
  color: var(--nv);
}
#main table td {
  background-color: #EFEFEF;
}
/*==============================*/
/** table1 **/
/*==============================*/
#main .table1 th, #main .table1 thead th {
  font-weight: 500;
  background-color: var(--nv);
  color: #fff;
  text-align: center;
}
#main .table1 tbody th {
  font-weight: 500;
  background-color: var(--pale);
  color: var(--nv);
  text-align: center;
}
/*==============================*/
/** table2 **/
/*==============================*/
#main .table2 th {
  font-weight: 500;
  background-color: var(--nv);
  color: #fff;
  text-align: center;
}
/*spanでふりがな*/
#main table th .kana, #main table td .kana {
  font-size: 80%;
  display: block;
}
#main table th .kana {
  color: var(--nv);
}
/*==============================*/
/** table layout**/
/*==============================*/
#main table.layout {
  margin: 0;
}
#main table.layout th, #main table.layout td {
  background-color: transparent;
  vertical-align: top;
  padding: 5px;
  color: #111;
  font-weight: normal;
  text-align: left;
}
/*==============================*/
/** tablescroll **/
/*==============================*/
#main .tablescroll {}
#main .tablescroll table {}
/**/
#main .tablescroll .note {
  display: none;
}
/*==============================*/
/** frame **/
/*==============================*/
#main .frame01 {
  margin: 40px 0;
  padding: 20px 30px;
  background-color: #e8eef5;
}
#main .frame02 {
  margin: 40px 0;
  padding: 20px 30px;
  background-color: #eef5e8;
}
#main .frame03 {
  margin: 40px 0;
  padding: 20px 30px;
  background-color: #f5e8ee;
}
/*==============================*/
/** flex（横並び） **/
/*==============================*/
#main .flex {
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: flex-start;
  align-items: flex-start;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 40px 0;
}
#main .flex img {
  width: 150px;
  max-width: 100%;
  height: auto;
}
/*==============================*/
/** 動画 **/
/*==============================*/
/*-----youtube*/
#main .movie {
  position: relative;
  width: 100%;
  max-width: 720px;
  aspect-ratio: 16 / 9;
}
#main .movie iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}
/*-----mp4*/
#main .video {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
}
/*==============================*/
/** btn **/
/*==============================*/
/* -------------------- btn*/
.btn {
  display: inline-block;
  position: relative;
  text-decoration: none !important;
  color: #1a1a1a !important;
  background-color: #e4eef9;
  margin: 10px 20px 10px 0;
  padding: 16px 100px 16px 30px;
  border-radius: 100vh;
  transform: .4s;
  z-index: 10;
}
.btn::before {
  display: block;
  content: '';
  position: absolute;
  top: calc(50% - 5px);
  right: 28px;
  width: 9px;
  height: 9px;
  border-right: 2px solid var(--base);
  border-bottom: 2px solid var(--base);
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  transition: .4s;
}
.btn:hover {
  background-color: #cedbf2;
  filter: drop-shadow(0px 0px 3px rgba(0, 0, 0, 0.1));
  color: #fff;
}
.btn:hover::before {
  right: 20px;
}
/*==============================*/
/** contact **/
/*==============================*/
#main .contact {
  background-color: var(--pale);
  margin: 40px 0;
  padding: 20px 30px;
}
#main .contact h2 {
  background-color: var(--nv);
  display: inline-block;
  padding: .7em 1.5em .8em 2em;
  margin: 15px 0;
  font-size: 1.6rem;
  color: #fff;
  line-height: 1.0;
  position: relative;
  z-index: 1;
  background-image: linear-gradient(90deg, #46569D, #17265F 50%);
}
#main .contact h2::before {
  position: absolute;
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  top: calc(50% - 3px);
  left: 14px;
  background-color: #fff;
  z-index: 1;
}
#main .contact h2::after {
  position: absolute;
  content: "";
  width: 100px;
  height: 50px;
  left: 0;
  right: 0;
  z-index: -1;
  margin: auto;
  bottom: -15px;
  border-radius: 50%;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  background-image: radial-gradient(rgba(0, 0, 0, .4) 0%, rgba(0, 0, 0, 0) 70%);
}
#main .contact table {
  margin: 10px 0;
}
#main .contact table th, #main .contact table td {
  padding: 5px 15px;
}
#main .contact table th {
  background-color: #212f7f;
  padding: 5px 30px;
  text-align: center;
  color: #fff;
}
#main .contact table td {
  background-color: #fff;
}
/*==================================================*/
/** index **/
/*==================================================*/
/*==============================*/
/** index_nav（ナビ） **/
/*==============================*/
#index_nav {
  margin: 0px auto;
  padding: 0;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}
/*テキスト*/
#index_nav .block {
  border: 1px solid #869ac4;
  border-radius: 14px;
  width: calc(100% / 2 - 30px);
  margin: 0 15px 30px 15px;
  padding: 40px;
  display: -webkit-flex;
  display: flex;
  background-color: #f5f6fc;
  filter: drop-shadow(0px 0px 3px rgba(0, 0, 0, 0.1));
}
#index_nav .block .text {
  width: 100%;
}
#index_nav .block .text h2 {
  margin: 0 0 30px 0;
  padding: 0 35px 25px 0;
  background-color: transparent;
  border-bottom: 1px solid var(--base);
  position: relative;
  font-size: 2.4rem;
  color: #111;
  filter: none;
  background-image: url("../img/icon_arrow.png");
  background-repeat: no-repeat;
  background-position: right 0.5em;
}
@media screen and (max-width: 1260px) {
  #index_nav .block .text h2 {
    font-size: 1.8rem;
    background-size: 20px;
  }
}
#index_nav .block .text h2::before {
  display: none;
}
@media screen and (max-width: 1260px) {}
#index_nav .block .text h2 a {
  text-decoration: none;
  color: #111;
  position: relative;
  display: block;
  z-index: 10;
}
#index_nav .block .text h2 a:hover {
  color: #4285e5;
}
#index_nav .block .text ul {
  margin: 0;
  padding: 0;
}
#index_nav .block .text ul li {
  margin: 5px 0;
  padding: 0 0 0 20px;
}
#index_nav .block .text ul li::before {
  display: none;
}
/**/
#index_nav .block .text ul li a {
  position: relative;
  font-size: 1.5rem;
  text-decoration: none;
  color: #111;
}
#index_nav .block .text ul li a:hover {
  color: #4285e5;
}
#index_nav .block .text ul li a::before {
  display: block;
  content: '';
  position: absolute;
  top: 42%;
  left: -20px;
  width: 8px;
  height: 8px;
  border-right: 2px solid var(--base);
  border-bottom: 2px solid var(--base);
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  transition: .4s;
}
/*#index_nav .block .text ul li a::after {
  display: block;
  content: '';
  position: absolute;
  top: 42%;
  left: -20px;
  width: 8px;
  height: 8px;
  border-right: 2px solid var(--base);
  border-bottom: 2px solid var(--base);
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  transition: .4s;
}*/
/*画像*/
#index_nav .block figure {
  width: 100%;
  max-width: 100px;
  margin: 0 0 0 30px;
}
#index_nav .block figure img {}
/*==============================*/
/** index_nav（ボタン）**/
/*==============================*/
#index_nav {}
#index_nav .link {
  width: 100%;
  list-style: none;
  margin: 0px;
  padding: 40px 0px;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}
#index_nav .link li {
  position: relative;
  border: 1px solid #869ac4;
  border-radius: 10px;
  width: calc(100% / 2 - 30px);
  margin: 0 15px 30px 15px;
  padding: 20px 60px 20px 20px;
  display: -webkit-flex;
  display: flex;
  background-color: #f5f6fc;
  filter: drop-shadow(0px 0px 3px rgba(0, 0, 0, 0.1));
  background-image: url("../img/icon_arrow.png");
  background-repeat: no-repeat;
  background-position: calc(100% - 20px) center;
}
@media screen and (max-width: 1260px) {
  #index_nav .link li {
    font-size: 1.8rem;
    background-size: 20px;
    padding: 20px 80px 20px 20px;
  }
}
#index_nav .link li::before {
  display: block;
  width: 1px;
  height: calc(100% - 30px);
  right: 60px;
  left: auto;
  background-color: #869ac4;
  border-radius: 0;
  top: 50%;
  transform: translate(0, -50%);
  -webkit-transform: translate(0, -50%);
}
#index_nav .link li a {
  display: block;
  width: 100%;
  position: relative;
  font-size: 1.7rem;
}
#index_nav .link li a[target="_blank"]::after {
  display: inline-block;
  content: "";
  width: 20px;
  height: 13px;
  background-image: url("../img/icon_link_bk.png");
  background-size: 13px;
  background-repeat: no-repeat;
  background-position: 5px;
}
@media screen and (max-width: 1260px) {}
#index_nav .link li a {
  text-decoration: none;
  color: #111;
  position: relative;
  display: block;
  z-index: 10;
}
#index_nav .link li a:hover {
  color: #4285e5;
}
/*==================================================*/
/** お知らせ **/
/*==================================================*/
/*==============================*/
/** 一覧 **/
/*==============================*/
#information {
  width: calc(100% - 80px);
  margin: 60px auto;
  padding: 0;
}
/**/
#information ul {
  margin: 40px 0;
  list-style: none;
}
#information ul li {
  margin: 0;
  padding: 0;
}
#information ul li::before {
  display: none;
}
#information ul li a {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-align-items: center;
  align-items: center;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  padding: 20px 24px 20px 0;
  font-size: 1.6rem;
  border-bottom: 1px dashed #4379d1;
  position: relative;
  background-color: #fcfcfc;
  text-decoration: none;
}
/*まるアイコン*/
#information ul li a::before {
  position: absolute;
  content: "";
  width: 9px;
  height: 9px;
  border-radius: 50%;
  right: 10px;
  top: 50%;
  transform: translate(0, -50%);
  -webkit-transform: translate(0, -50%);
  background-color: var(--base);
  transition: .4s;
  z-index: 10;
}
#information ul li:hover a::before {
  right: 0;
}
/*日付*/
#information ul li a .date {
  margin: 0 20px 0 0;
  /*-webkit-flex-basis: 120px;
  flex-basis: 120px;*/
}
/*カテゴリ*/
#information ul li a .cate {
  display: block;
  text-align: center;
  margin: 0 20px 0 0;
  padding: 0;
  line-height: 2.4em;
  border-radius: 100vh;
  font-size: 1.1rem;
  white-space: nowrap;
  min-width: 100px;
}
/*カテゴリ色（共通）*/
#main .cate {
  border: 1px solid var(--base);
  color: var(--base);
}
#main .cate.news {
  background-color: #4379d1;
  border: 1px solid #4379d1;
  color: #fff;
}
#main .cate.event {
  background-color: #d37637;
  border: 1px solid #d37637;
  color: #fff;
}
#main .cate.award {
  background-color: #d1a92a;
  border: 1px solid #d1a92a;
  color: #fff;
}
#main .cate.exam {
  background-color: #3ea3ba;
  border: 1px solid #3ea3ba;
  color: #fff;
}
#main .cate.recruit {
  background-color: #3faa81;
  border: 1px solid #3faa81;
  color: #fff;
}
/*NEWアイコン*/
#information ul li a .new {
  display: block;
  text-align: center;
  margin: 0 20px 0 0;
  padding: 0 16px;
  color: #d82525;
  line-height: 2.4em;
  border-radius: 100vh;
  background-color: #fce6e6;
  font-size: 1.1rem;
  white-space: nowrap;
  min-width: 60px;
}
/*お知らせタイトル*/
#information ul li a h3 {
  font-size: 1.7rem;
  font-weight: 500;
  line-height: 1.6em;
  margin: 0;
  padding: 10px 40px 0 0;
  border-bottom: none;
  width: 100%;
}
/*ファイルアイコン*/
#information ul li a::after {
  position: absolute;
  right: 30px;
  top: 50%;
  transform: translateY(-50%);
}
#information ul li a[href$=".pdf"]::after {
  background-image: url(../img/pdf.png) !important;
  width: 20px;
  height: 20px;
}
/*お知らせ（更新日、カテゴリなし）*/
#information.news ul li {
  padding: 20px 0;
  border-bottom: 1px dashed #4379d1;
}
#information.news ul li a {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
  font-size: 1.7rem;
  font-weight: 500;
  margin: 0;
  padding: 0 40px 0 0;
  color: #111;
  border-bottom: none;
}
/*==============================*/
/** ページ分割 **/
/*==============================*/
#main .pagination {
  padding: 40px 0;
}
#main .pagination ul {
  text-align: center;
}
#main .pagination li {
  margin: 0 1px;
  padding: 0;
  list-style: none;
  display: inline;
}
#main .pagination li::before {
  display: none;
}
#main .pagination li a, #main .pagination li span {
  display: inline-block;
  margin: 4px 0;
  padding: 8px 12px;
  border: 1px solid #4379d1;
  background-color: #fff;
  text-decoration: none;
  font-size: 1.5rem;
}
#main .pagination li.current {
  display: inline-block;
  margin: 4px 0;
  padding: 8px 12px;
  border: none;
  background-color: var(--thin);
  text-decoration: none;
  font-size: 1.5rem;
  color: #111;
}
#main .pagination li a:link, #main .pagination li a:visited {
  color: var(--base);
}
#main .pagination li a:hover {
  background-color: #eee;
}
/*==============================*/
/** 記事 **/
/*==============================*/
#main .update {
  margin: 0 0 40px 0;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-align-items: center;
  align-items: center;
  font-size: 95%;
}
#main .update .cate {
  display: inline-block;
  text-align: center;
  margin: 0 0 0 20px;
  padding: 0 18px;
  line-height: 2.2em;
  border-radius: 100vh;
  font-size: 1.1rem;
  min-width: 110px;
}
#main .article {
  margin: 40px 0 80px 0;
}
/*==================================================*/
/** About Us **/
/*==================================================*/
/*==============================*/
/** 沿革 **/
/*==============================*/
#main .history {
  border-collapse: collapse;
}
#main .history th, #main .history td {
  background-color: transparent;
  vertical-align: top;
}
#main .history th {
  color: var(--base);
  text-align: right;
  position: relative;
  font-size: 2.0rem;
  padding: 20px 45px 20px 0;
  min-width: 120px !important;
}
#main .history th::before {
  position: absolute;
  content: "";
  right: -6px;
  top: 1.4em;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background-color: var(--base);
}
#main .history th::after {
  position: absolute;
  content: "";
  right: 0;
  top: 0;
  width: 2px;
  height: 100%;
  background-color: var(--pale);
  z-index: -1;
}
#main .history tr:first-child th::after {
  top: 1.4em;
  bottom: 0;
}
#main .history tr:last-child th::after {
  height: 40px;
}
#main .history th span {
  display: block;
  font-size: 1.4rem;
  color: var(--base);
}
#main .history td {
  padding: 24px 0 20px 30px;
}
#main .history tr td:nth-child(2) {
  text-align: right;
  font-size: 1.7rem;
  font-weight: 500;
  padding: 20px 0 20px 30px;
  min-width: 70px !important;
}
/*==================================================*/
/** 研究室紹介 **/
/*==================================================*/
#laboratory {}
/*==============================*/
/** labo_index **/
/*==============================*/
#laboratory .labo_index {
  margin: 40px 0;
  padding: 20px 40px;
  border: 2px solid var(--base);
  border-radius: 20px;
}
#laboratory .labo_index h2 {
  margin: 30px 0;
  padding: 0;
  background-color: transparent;
  white-space: nowrap;
  filter: none;
}
#laboratory .labo_index h2::before {
  display: none;
}
#laboratory .labo_index h2::after {
  position: absolute;
  content: "";
  width: 2px;
  height: 1000px;
  background-color: #ccc;
  top: 40px;
  left: 42px;
  z-index: -1;
}
#laboratory .labo_index h2 span {
  display: inline-block;
  font-size: 2.0rem;
  font-weight: 500;
  color: #fff;
  background-color: var(--base);
  border-radius: 100vh;
  position: relative;
  margin: 0;
  padding: 8px 30px;
}
/**/
#laboratory .labo_index h3 {
  border: none;
  background-color: transparent;
  margin: 30px 0 30px 80px;
  padding: 0;
  position: relative;
}
#laboratory .labo_index h3::before {
  position: absolute;
  content: "";
  width: 36px;
  height: 2px;
  background-color: #ccc;
  top: 50%;
  left: -36px;
  transform: translate(0, -50%);
  -webkit-transform: translate(0, -50%);
  z-index: -1;
}
#laboratory .labo_index h3::after {
  position: absolute;
  content: "";
  width: 2px;
  background-color: #ccc;
  left: -38px;
  height: 200%;
  bottom: 50%;
  z-index: -1;
}
#laboratory .labo_index h3 a {
  font-size: 1.8rem;
  font-weight: 500;
  border: 2px solid var(--base);
  border-radius: 100vh;
  position: relative;
  padding: 8px 40px;
  color: var(--base);
  white-space: nowrap;
  box-sizing: border-box;
}
/*-----色*/
/*基礎医学領域*/
#laboratory h3.b_med a {
  border: none;
  background-color: var(--b_med);
  color: #fff;
}
#laboratory h3.b_med::after {
  display: none;
}
/*臨床医学領域*/
#laboratory h3.c_med a {
  border: none;
  background-color: var(--c_med);
  color: #fff;
}
#laboratory h3.c_med::after {
  display: none;
}
/*統合医薬学領域*/
#laboratory h3.c_pharma a {
  border: none;
  background-color: var(--c_pharma);
  color: #fff;
}
/**/
#laboratory .labo_index ul {
  margin: 0 0 0 200px;
  padding: 0;
  position: relative;
}
#laboratory .labo_index ul li {
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  margin: 0;
  padding: 0;
}
#laboratory .labo_index ul li::before {
  display: none;
}
#laboratory .labo_index ul li a {
  display: block;
  border: none;
  width: 560px;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.4em;
  border-radius: 100vh;
  position: relative;
  margin: 8px 0;
  padding: 6px 30px;
}
#laboratory .labo_index ul li a::before {
  position: absolute;
  content: "";
  width: 36px;
  height: 2px;
  background-color: #ccc;
  top: 50%;
  left: -36px;
  transform: translate(0, -50%);
  -webkit-transform: translate(0, -50%);
  z-index: -1;
}
#laboratory .labo_index ul li a::after {
  position: absolute;
  content: "";
  width: 2px;
  height: 250%;
  background-color: #ccc;
  left: -36px;
  bottom: 0;
  z-index: -1;
}
#laboratory .labo_index ul li:first-child a::after, #laboratory .labo_index ul li:last-child a::after {
  height: 200%;
  bottom: 50%;
}
#laboratory .labo_index ul li a:hover {
  background-color: #fff;
}
/*-----色*/
/*基礎医学領域*/
/*協力*/
#laboratory .b_med .cf a {
  color: #d36c18;
  background-color: #f2e2d3;
  border: 2px solid #f2e2d3;
}
/*連携*/
#laboratory .b_med .pf a {
  color: #db613b;
  background-color: #f2dad3;
  border: 2px solid #f2dad3;
}
/*臨床医学領域*/
/*協力*/
#laboratory .c_med .cf a {
  color: #3682c1;
  background-color: #c0e1f3;
  border: 2px solid #c0e1f3;
}
/*連携*/
#laboratory .c_med .pf a {
  color: #376fbf;
  background-color: #c0d4f3;
  border: 2px solid #c0d4f3;
}
/*統合医薬学領域*/
/*協力*/
#laboratory .c_pharma .cf a {
  color: #1c8470;
  background-color: #c4e8b5;
  border: 2px solid #c4e8b5;
}
/*連携*/
#laboratory .c_pharma .pf a {}
/**/
#laboratory .labo_index ul li span {
  /*width: 100%;
  max-width: 58px;*/
  font-size: 1.3rem;
  background-color: #d6d6d6;
  display: inline-block;
  border-radius: 5px;
  margin: 5px 0 5px 10px;
  padding: 6px 10px;
  font-weight: 600;
  white-space: nowrap;
  text-align: center;
}
/**/
#laboratory .labo_index ul.note {
  margin: 40px 0 10px 0;
  padding: 0;
}
#laboratory .labo_index ul.note::before {
  display: none;
}
#laboratory .labo_index ul.note li {
  margin: 0 0 10px 0;
  padding: 0;
  font-size: 1.5rem;
  line-height: 1.4em;
}
@media screen and (max-width: 1260px) {}
#laboratory .labo_index ul.note li {
  font-size: 1.4rem;
}
#laboratory .labo_index ul.note li span {
  margin: 5px 10px;
}
/*==============================*/
/** major_nav **/
/*==============================*/
/*----- major_nav*/
#major_nav {
  background-color: #ebf6ff;
  margin: 20px 0;
  padding: 30px;
  border-radius: 20px;
}
#major_nav h2 {
  margin: 0;
  padding: 6px 18px;
  border-radius: 5px;
  font-size: 2.2rem;
}
#major_nav h2::before {
  display: none;
}
#major_nav ul {
  margin: 20px auto 0 auto;
  padding: 0;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: space-around;
  justify-content: space-around;
  background-color: #fff;
  border-radius: 100vh;
}
#major_nav ul li {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 5px;
}
#major_nav ul li::before {
  display: none;
}
#major_nav ul li a {
  height: 100%;
  position: relative;
  display: block;
  padding: 20px;
  text-align: center;
  text-decoration: none;
  color: #111;
  line-height: 1.2em;
  border: 2px solid #fff;
  border-radius: 100vh;
}
@media screen and (max-width: 1260px) {
  #major_nav ul li a {
    font-size: 1.3rem;
    padding: 15px;
  }
}
#laboratory .labo_index ul.note li {
  font-size: 1.4rem;
}
#major_nav ul li a:hover, #major_nav ul li.on a {
  border: 2px solid var(--base);
}
/**/
#major_nav ul li a::after {
  position: absolute;
  content: "";
  top: calc(50% - 4px);
  right: 20px;
  width: 9px;
  height: 9px;
  border-top: 2px solid #ccc;
  border-right: 2px solid #ccc;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  transition: .4s;
}
#major_nav ul li.on a::after {
  border-top: 2px solid var(--base);
  border-right: 2px solid var(--base);
}
@media screen and (max-width: 1260px) {
  #major_nav ul li a::after {
    right: 13px;
  }
}
#major_nav ul li a:hover::after {
  border-top: 2px solid var(--base);
  border-right: 2px solid var(--base);
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
}
/*----- field_name*/
#laboratory .field_name {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-align-items: center;
  align-items: center;
  margin: 40px 0;
  background-color: #efefef;
  font-size: 2.0rem;
  line-height: 1.2em;
}
#laboratory .field_name span {
  -webkit-flex-basis: 72px;
  flex-basis: 72px;
  display: block;
  color: #fff;
  width: 72px;
  height: 72px;
  margin: 0 20px 0 0;
  position: relative;
}
#laboratory .field_name span::before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  font-size: 2.1rem;
  line-height: 1.0em;
  text-align: center;
}
/*==============================*/
/** labo_list **/
/*==============================*/
/*----- field*/
#laboratory .field {
  margin: 0;
  padding: 0;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
#laboratory .field li {
  margin: 0 30px 10px 0;
  padding: 0;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  font-size: 1.4rem;
  line-height: 1.4em;
}
/**/
#laboratory .field li::before {
  display: none;
}
/**/
#laboratory .field li span {
  display: block;
  color: #fff;
  width: 38px;
  height: 38px;
  margin: 0 12px 0 0;
  position: relative;
}
#laboratory .field li span::before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  font-size: 1.2rem;
  line-height: 1.0em;
  text-align: center;
}
#laboratory h3 span {
  font-size: 1.4rem;
  font-weight: 500;
  background-color: #d6d6d6;
  display: inline-block;
  border-radius: 5px;
  margin: 5px 0 5px 10px;
  padding: 5px 10px;
  white-space: nowrap;
  text-align: center;
}
/*----- 色（共通）*/
#laboratory span.d {
  background-color: #2062c4
}
#laboratory span.d::before {
  content: "D";
}
#laboratory span.m_ms {
  background-color: #db5d9c
}
#laboratory span.m_ms::before {
  content: "M-MS";
}
#laboratory span.m_ph {
  background-color: #12ad62
}
#laboratory span.m_ph::before {
  content: "M-PH";
}
#laboratory span.m_me {
  background-color: #e2961b
}
#laboratory span.m_me::before {
  content: "M-ME";
}
#laboratory span.m_ylp {
  background-color: #8f61d8
}
#laboratory span.m_ylp::before {
  content: "M-YLP";
}
/*----- 共通*/
#laboratory .labo_list {
  margin: 0px auto;
  padding: 0;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
#laboratory .labo_list .labo {
  width: calc(100% / 3 - 20px);
  margin: 0 10px 20px 10px;
  position: relative;
  transition: .4s;
}
#laboratory .labo_list .labo:hover::before {
  background: #1F1F22;
}
#laboratory .labo_list .labo a {
  text-decoration: none;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-align-items: stretch;
  align-items: stretch;
  height: 100%;
  border: 2px solid #f7f7f7;
}
#laboratory .labo_list .labo a:hover {
  border: 2px solid #000;
}
#laboratory .labo_list .labo div {
  position: relative;
  padding: 0 30px;
  display: block;
  height: 100%;
}
#laboratory .labo_list .labo a div::before {
  position: absolute;
  content: "";
  bottom: 20px;
  right: 20px;
  width: 20px;
  height: 20px;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  background: #ccc;
}
#laboratory .labo_list .labo a:hover div::before {
  background: #111;
}
#laboratory .labo_list .labo a div::after {
  position: absolute;
  content: "";
  bottom: 26px;
  right: 28px;
  width: 7px;
  height: 7px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
#laboratory .labo_list .labo .labo_name {
  margin: 0;
  padding: 16px 20px 16px 28px;
  font-size: 1.9rem;
  font-weight: 500;
  line-height: 1.4em;
  position: relative;
  transition: .4s;
}
#laboratory .labo_list .labo .labo_name::before {
  clip-path: polygon(0 0, 0 18px, 18px 0);
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 18px;
  height: 18px;
}
#laboratory .labo_list .labo:hover a .labo_name::before {
  /*clip-path: polygon(0 0, 0 18px, 18px 0);*/
  background-color: #fff !important;
  /*width: 18px;
  height: 18px;*/
}
#laboratory .labo_list .labo:hover a .labo_name {
  color: #fff;
}
#laboratory .labo_list .labo .professor {
  margin: 20px 0;
  padding: 0;
  font-size: 1.6rem;
  font-weight: 500;
}
#laboratory .labo_list .labo .keyword {
  margin: 0 0 20px 0;
  padding: 0 0 0 12px;
  font-size: 1.4rem;
  color: #555;
}
#laboratory .labo_list .labo .field {
  margin: 0 0 20px 0;
  padding: 0;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
}
#laboratory .labo_list .labo .field li {
  margin: 0 8px 8px 0;
  padding: 0;
}
#laboratory .labo_list .labo .field li span {
  margin: 0;
}
/*-----色*/
/*基礎医学領域 b_med*/
#laboratory #b_med h2 {
  background-color: var(--b_med);
}
#laboratory #b_med h3 {
  border-bottom: 1px solid var(--b_med);
}
#laboratory #b_med .labo_list .labo {
  background-color: #fcf8f5;
}
#laboratory #b_med .labo_list .labo a:hover {
  border: 2px solid var(--b_med);
}
#laboratory #b_med .labo_list .labo .labo_name {
  background-color: #f2ead3;
}
#laboratory #b_med .labo_list .labo:hover a .labo_name {
  background-color: var(--b_med);
}
#laboratory #b_med .labo_list .labo .labo_name::before {
  background-color: var(--b_med);
}
#laboratory #b_med .labo_list .labo .keyword {
  border-left: 3px solid var(--b_med);
}
/*協力*/
#laboratory #b_med .labo_list.cf .labo .labo_name {
  background-color: #f2e2d3;
}
/*連携*/
#laboratory #b_med .labo_list.pf .labo .labo_name {
  background-color: #f2dad3;
}
/*臨床医学領域 c_med*/
#laboratory #c_med h2 {
  background-color: var(--c_med);
}
#laboratory #c_med h3 {
  border-bottom: 1px solid var(--c_med);
}
#laboratory #c_med .labo_list .labo {
  background-color: #eef9ff;
}
#laboratory #c_med .labo_list .labo a:hover {
  border: 2px solid var(--c_med);
}
#laboratory #c_med .labo_list .labo .labo_name {
  background-color: #d5eef7;
}
#laboratory #c_med .labo_list .labo:hover a .labo_name {
  background-color: var(--c_med);
}
#laboratory #c_med .labo_list .labo .labo_name::before {
  background-color: var(--c_med);
}
#laboratory #c_med .labo_list .labo .keyword {
  border-left: 3px solid var(--c_med);
}
/*協力*/
#laboratory #c_med .labo_list.cf .labo .labo_name {
  background-color: #c0e1f3;
}
/*連携*/
#laboratory #c_med .labo_list.pf .labo .labo_name {
  background-color: #c0d4f3;
}
/*統合医薬学領域 c_pharma*/
#laboratory #c_pharma h2 {
  background-color: var(--c_pharma);
}
#laboratory #c_pharma h3 {
  border-bottom: 1px solid var(--c_pharma);
}
#laboratory #c_pharma .labo_list .labo {
  background-color: #F0F8E9;
}
#laboratory #c_pharma .labo_list .labo a:hover {
  border: 2px solid var(--c_pharma);
}
#laboratory #c_pharma .labo_list .labo .labo_name {
  background-color: #e1f5d1;
}
#laboratory #c_pharma .labo_list .labo:hover a .labo_name {
  background-color: var(--c_pharma);
}
#laboratory #c_pharma .labo_list .labo .labo_name::before {
  background-color: var(--c_pharma);
}
#laboratory #c_pharma .labo_list .labo .keyword {
  border-left: 3px solid var(--c_pharma);
}
/*協力*/
#laboratory #c_pharma .labo_list.cf .labo .labo_name {
  background-color: #c4e8b5;
}
/*連携*/
#laboratory #c_pharma .labo_list.pf .labo .labo_name {
  background-color: #d1f5d3;
}
/*other*/
#laboratory #other h2 {
  background-color: #fff;
  border: 2px solid var(--other);
  color: #111;
}
#laboratory #other h2::before {
  background-color: var(--other);
}
#laboratory #other h3 {
  border-bottom: 1px solid var(--other);
}
#laboratory #other .labo_list .labo {
  background-color: #f7f7f7;
}
#laboratory #other .labo_list .labo a:hover {
  border: 2px solid var(--other);
}
#laboratory #other .labo_list .labo .labo_name {
  background-color: var(--other_pale);
}
#laboratory #other .labo_list .labo:hover a .labo_name {
  background-color: var(--other);
  color: #fff;
}
#laboratory #other .labo_list .labo .labo_name::before {
  background-color: var(--other);
}
#laboratory #other .labo_list .labo .keyword {
  border-left: 3px solid var(--other);
}
/*==================================================*/
/** 研究室紹介（個別ページ）**/
/*==================================================*/
/*==============================*/
/** 研究キーワード **/
/*==============================*/
#laboratory .keyword {}
#laboratory .keyword ul {
  margin: 0;
  padding: 0;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
#laboratory .keyword ul li {
  white-space: nowrap;
  margin: 0 8px 8px 0;
  padding: 4px 14px;
  background-color: var(--pale);
  border-radius: 3px;
  font-size: 95%;
}
#laboratory .keyword ul li::before {
  display: none;
}
/*==============================*/
/** 講座長 **/
/*==============================*/
#laboratory .dc {}
#laboratory .dc {}
#laboratory .dc figure {
  width: 150px;
  margin: 0 40px 0 0;
}
#laboratory .dc .profile {
  -webkit-flex-grow: 1;
  flex-grow: 1;
}
#laboratory .dc .profile h3 {
  margin: 0 0 15px 0;
  padding: 0 0 10px 20px;
  border-bottom: 2px solid #ccc;
  position: relative;
  font-size: 1.8rem;
  width: 100%;
}
#laboratory .dc .profile h3::before {
  position: absolute;
  content: "";
  width: 5px;
  height: 24px;
  top: .3em;
  left: 0;
  margin: 0;
  padding: 0;
  border-left: 5px solid var(--nv);
  border-radius: 4px;
}
#laboratory .dc .profile .link {
  margin: 15px 0;
}
#laboratory .dc .profile .link a {
  white-space: nowrap;
  display: inline-block;
  margin: 5px;
  padding: 6px 16px;
  background-color: var(--pale);
  border-radius: 100vh;
  font-size: 1.4rem;
  text-decoration: none;
  color: #111;
}
/*==============================*/
/** 教員 **/
/*==============================*/
#laboratory .members {}
#laboratory .members table {
  width: 100% !important;
  border-collapse: collapse;
}
#laboratory .members table th, #laboratory .members table td {
  padding: 16px 30px;
  background-color: transparent;
}
#laboratory .members table th {
  color: var(--base);
  border-bottom: 3px solid var(--base);
  text-align: left;
}
#laboratory .members table th:last-child {
  text-align: center;
}
#laboratory .members table td {
  border-bottom: 1px solid #ddd;
}
#laboratory .members table td:last-child {
  width: 200px !important;
}
#laboratory .members table td a {
  white-space: nowrap;
  display: inline-block;
  margin: 5px;
  padding: 6px 16px;
  background-color: var(--pale);
  border-radius: 100vh;
  font-size: 1.4rem;
  text-decoration: none;
  color: #111;
}
/*==============================*/
/** 研究実績 **/
/*==============================*/
#laboratory .results {}
/*年*/
#laboratory .results summary.year {
  position: relative;
  margin: 2px 0;
  padding: 15px 0;
  color: var(--base);
  font-size: 2.1rem;
  text-align: center;
  cursor: pointer;
  list-style: none;
  background-color: var(--pale);
}
#laboratory .results summary.year::-webkit-details-marker {
  display: none;
}
#laboratory .results .year summary::before {
  color: var(--base);
}
/*中身*/
#laboratory .results ol {
  margin: 10px 0;
  padding: 30px 50px;
  background-color: #fff;
}
#laboratory .results[open] .results_list {
  transform: none;
  opacity: 1;
}
#laboratory .results ol::before {
  color: var(--accent);
  line-height: 1.2;
  font-weight: 600;
  font-size: 1.3em;
}
/*アイコン（＋）*/
#laboratory .results summary.year {
  position: relative;
}
#laboratory .results summary.year:before, #laboratory .results summary.year:after {
  display: block;
  content: '';
  background-color: var(--base);
  position: absolute;
}
#laboratory .results summary.year:before {
  width: 1px;
  height: 15px;
  right: 30px;
  top: calc(50% - 7px);
}
#laboratory .results summary.year:after {
  width: 15px;
  height: 1px;
  top: 50%;
  right: 23px;
}
/*アイコンactive（-）*/
#laboratory .results details[open] summary.year:before {
  display: none;
}
#laboratory .results details[open] summary.year:after {
  background-color: var(--base);
}
/*==============================*/
/** リンク **/
/*==============================*/
#laboratory .link {
  width: 80%;
  max-width: 720px;
  margin: 0 auto;
  position: relative;
}
#laboratory .link a {
  display: block;
  background-color: var(--pale);
  margin: 40px 0;
  padding: 20px 50px 20px 30px;
  text-align: center;
  border: 1px solid #869ac4;
  text-decoration: none;
  color: #222;
  font-weight: 500;
}
#laboratory .link:hover a {
  background-color: #fff;
}
/*独自ホームページ*/
#laboratory .official.link::after {
  position: absolute;
  content: "";
  width: 13px;
  height: 13px;
  background-image: url("../img/icon_ex.png");
  background-size: 13px;
  background-repeat: no-repeat;
  top: 50%;
  right: 20px;
  transform: translate(0, -50%);
  -webkit-transform: translate(0, -50%);
}
/*オープンキャンパス*/
#laboratory .open.link::after {
  position: absolute;
  content: "";
  width: 16px;
  height: 16px;
  background-image: url("../img/icon_movie.png");
  background-size: 16px;
  background-repeat: no-repeat;
  top: 50%;
  right: 20px;
  transform: translate(0, -50%);
  -webkit-transform: translate(0, -50%);
}
/*==================================================*/
/** 付属施設・センター **/
/*==================================================*/
/*==============================*/
/** 年報 **/
/*==============================*/
/*画像*/
#main .flex.book figure {
  width: 250px;
  margin: 0 40px 0 0;
}
#main .flex.book figure img {
  width: 250px;
  max-width: 250px;
}
/*テキスト*/
#main .flex.book .box {
  margin: 0;
}
#main .flex.book .box h3 {
  margin: 0 0 10px 0;
  padding: 0;
  font-size: 100%;
  color: #111;
  font-weight: 600;
  border: none;
}
#main .flex.book .box h4 {
  margin: 0 0 10px 0;
  padding: 0;
  font-size: 100%;
  color: #111;
  font-weight: 600;
}
/*囲み枠*/
#main .flex.book .box .frame01 {
  margin: 0 0 20px 0;
}
#main .flex.book .box .frame01 ul, #main .flex.book .box .frame01 ol {
  margin: 5px 0 5px 5px;
}
/*バックナンバー*/
#main ul.back {
  margin: 0px auto;
  padding: 0;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  border-top: 1px solid #ccc;
  border-left: 1px solid #ccc;
}
#main ul.back li {
  width: calc(100% / 4);
  margin: 0;
  padding: 20px;
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}
@media screen and (max-width: 1260px) {
  #main ul.back li {
    width: calc(100% / 3);
  }
}
#main ul.back li::before {
  display: none;
}
#main ul.back li a {
  text-align: center;
  text-decoration: none;
  display: block;
}
#main ul.back li a[href$=".pdf"]:after {
  display: inline-block;
  position: relative;
  content: "";
  background-image: url(../img/pdf.png);
  width: 18px;
  height: 20px;
  right: -2px;
  background-size: 15px;
  background-repeat: no-repeat;
  bottom: -3px;
}
#main ul.back li a img {
  width: 100%;
  margin: 0 0 10px 0;
}
#main ul.back li a span {
  font-size: 90%;
  color: var(--base);
  display: inline;
}
/*==============================*/
/** 教員紹介 **/
/*==============================*/
/*画像*/
#main .flex.staff figure {
  width: 150px;
  margin: 0 40px 0 0;
}
#main .flex.staff figure img {
  width: 100%;
  max-width: 150px;
}
/*テキスト*/
#main .flex.staff .box {
  margin: 0;
  -webkit-flex-grow: 1;
  flex-grow: 1;
}
#main .flex.staff .box .name {
  margin: 0 0 15px 0;
  padding: 0 0 10px 20px;
  border-bottom: 2px solid #ccc;
  position: relative;
  font-size: 1.8rem;
  width: 100%;
}
#main .flex.staff .box .name::before {
  position: absolute;
  content: "";
  width: 5px;
  height: 24px;
  top: .3em;
  left: 0;
  margin: 0;
  padding: 0;
  border-left: 5px solid var(--base);
  border-radius: 4px;
}
/*==================================================*/
/** クラブ・サークルリンク **/
/*==================================================*/
#main .flex.club {
  margin: 0px auto;
  padding: 20px 0px;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
/*テキスト*/
#main .flex.club .info {
  width: calc(100% / 2 - 30px);
  margin: 0 15px 30px 15px;
  padding: 0;
}
#main .flex.club .info h3 {
  width: 100%;
  margin: 0 0 20px 0;
  padding: 10px 10px 10px 32px;
  background-color: var(--pale);
  border-bottom: none;
  position: relative;
  font-size: 1.8rem;
}
#main .flex.club .info h3::before {
  position: absolute;
  content: "";
  width: 5px;
  height: calc(100% - 24px);
  border-radius: 3px;
  left: 15px;
  top: 50%;
  transform: translate(0, -50%);
  -webkit-transform: translate(0, -50%);
  background-color: var(--base);
}
#main .flex.club .info figure {
  width: 210px;
  margin: 0 0 20px 0;
}
#main .flex.club .info figure {
  width: 210px;
}
#main .flex.club table {
  width: 100% !important;
}
#main .flex.club table th {
  width: 20% !important;
  padding: 8px 20px;
  white-space: nowrap;
}
#main .flex.club table td {
  padding: 8px 10px;
}
#main .flex.club table td a {
  word-break: break-all;
}
/*==================================================*/
/** アクセス **/
/*==================================================*/
/**/
#main .access_nav {
  border: 1px solid #999999;
  margin: 20px 0;
  padding: 20px;
}
#main .access_nav h2 {
  font-size: 1.8rem;
  color: #111;
  font-weight: 500;
  position: relative;
  margin: 0 0 15px 0;
  padding: 8px 8px 8px 45px;
  filter: none;
}
#main .access_nav h2::before {
  display: block;
  content: '';
  position: absolute;
  top: calc(50% - 6px);
  left: 20px;
  width: 10px;
  height: 10px;
  border-right: 2px solid var(--base);
  border-bottom: 2px solid var(--base);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  transition: .4s;
  background-color: transparent;
}
#main .access_nav.med h2 {
  background-color: #e7eddf;
}
#main .access_nav.hosp h2 {
  background-color: #f7e8e8;
}
#main .access_nav h2 a {
  color: #111;
  text-decoration: none;
}
#main .access_nav h2 a:hover {
  color: var(--other);
}
/**/
/*----- リスト（共通）*/
#main .access_nav ol {
  margin: 0;
  padding: 0;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  list-style-type: none !important;
}
#main .access_nav ol li {
  border-left: 1px solid #111;
  position: relative;
  margin: 10px 0;
  padding: 0 20px 0 50px;
  font-weight: 600;
}
#main .access_nav ol li::before {
  position: absolute;
  display: inline-block;
  background: #5c9ee7;
  font-size: 1.2rem;
  font-weight: 500;
  color: #fff;
  border-radius: 50%;
  left: 16px;
  width: 20px;
  height: 20px;
  line-height: 18px;
  text-align: center;
  top: 1.2em;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
#main .access_nav.med ol li::before {
  background-color: #6da63d;
}
#main .access_nav.hosp ol li::before {
  background-color: #eda69d;
}
/**/
#main .access_nav ol li a {
  color: #333;
  text-decoration: none;
  padding: 0 20px;
}
#main .access_nav ol li a:hover {
  color: var(--other);
}
/*リスト（数字）*/
#main .access_nav ol.number {
  counter-reset: number;
}
#main .access_nav ol.number li::before {
  counter-increment: number;
  content: counter(number);
}
/*リスト（アルファベット）*/
#main .access_nav ol.alpha {
  counter-reset: listnum;
}
#main .access_nav ol.alpha li::before {
  counter-increment: listnum;
  content: counter(listnum, upper-alpha);
}
/*矢印*/
#main .access_nav ol li a::after {
  display: block;
  content: '';
  position: absolute;
  top: calc(50% - 6px);
  left: 0;
  width: 9px;
  height: 9px;
  border-right: 2px solid var(--base);
  border-bottom: 2px solid var(--base);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  transition: .4s;
  background-color: transparent;
  border-radius: 0;
}
/*リスト（空）*/
#main .access_nav ol li.nmb_no {
  border-left: 1px solid #111;
  position: relative;
  margin: 10px 0;
  padding: 0 20px;
}
#main .access_nav ol li.nmb_no::before {
  display: none;
}
#main .access_nav ol li.nmb_no a::before {
  left: -15px;
}
/**/
#main .floor {
  width: 100% !important;
  border-collapse: collapse;
  margin: 20px 20px 20px 0;
}
#main .floor th, #main .floor td {
  border-bottom: 2px solid #ccc;
}
#main .floor th {
  color: var(--nv);
  width: 100px !important;
  font-size: 2.4rem;
}
#main .floor td {
  background-color: transparent;
}
/**/
#main .flex .floor {
  width: calc(50% - 20px) !important;
}
/*==================================================*/
/**  大学院教育  **/
/*==================================================*/
/*==============================*/
/** 東海がんプロ **/
/*==============================*/
/*-----FAQ集*/
#faq {}
#faq .faq_q {
  font-size: 1.8rem;
  font-weight: 500;
  color: var(--nv);
  background-color: var(--pale);
  padding: 10px 20px;
}
#faq .a_area {
  background-color: #EFEFEF;
  margin: 0 0 40px 0;
  padding: 10px 25px;
}
/*==================================================*/
/** 在学生の方へ **/
/*==================================================*/
#main .students_top {
  margin: 0;
  padding: 0;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}
#main .students_top li {
  border-radius: 7px;
  width: calc(100% / 2 - 30px);
  margin: 0 15px 30px 15px;
  padding: 0;
  display: -webkit-flex;
  display: flex;
  filter: drop-shadow(0px 0px 3px rgba(0, 0, 0, 0.1));
  background-repeat: no-repeat;
  background-position: 25px center;
}
@media screen and (max-width: 1260px) {
  #main .students_top li {
    background-position: 20px center;
  }
}
#main .students_top li::before, #main .students_top li a::after {
  display: none;
}
#main .students_top li a {
  display: block;
  width: 100%;
  padding: 40px 40px 40px 120px;
  text-decoration: none;
  font-size: 2.0rem;
}
@media screen and (max-width: 1260px) {
  #main .students_top li a {
    padding: 40px 40px 40px 105px;
    font-size: 1.7rem;
  }
}
#main .students_top li span {
  position: relative;
  color: #fff;
}
#main .students_top li span::after {
  position: absolute;
  content: "";
  width: 15px;
  height: 15px;
  background-image: url("../img/icon_link.png");
  background-size: 15px;
  background-repeat: no-repeat;
  top: 50%;
  right: -30px;
  transform: translate(0, -50%);
  -webkit-transform: translate(0, -50%);
}
@media screen and (max-width: 1260px) {
  #main .students_top li span::after {
    right: -25px;
  }
}
/**/
#main .students_top li:nth-child(1) {
  background-color: #2179b5;
  background-image: url("../img/icon_bord.png");
}
#main .students_top li:nth-child(2) {
  background-color: #4949a5;
  background-image: url("../img/icon_grad.png");
}
/*==================================================*/
/** sitemap **/
/*==================================================*/
#sitemap {}
/*枠*/
#sitemap ul.tree {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
#sitemap ul.tree li.tree_block {
  width: 100%;
  margin: 10px;
  border: 1px solid #869ac4;
  border-radius: 14px;
  padding: 40px;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  background-color: #f5f6fc;
  filter: drop-shadow(0px 0px 3px rgba(0, 0, 0, 0.1));
}
/**/
#sitemap ul.tree li::before {
  display: none;
}
/**/
#sitemap ul.tree li.tree_block h2 {
  width: 240px !important;
  font-size: 1.7rem;
  color: var(--base);
  background-color: transparent;
  position: relative;
  margin: 0;
  padding: 0;
  filter: none;
  white-space: nowrap;
}
#sitemap ul.tree li.tree_block h2 a {
  color: var(--base);
}
#sitemap ul.tree li.tree_block ul {
  margin: 0 0 0 40px;
  -webkit-flex-grow: 1;
  flex-grow: 1;
}
#sitemap ul.tree li.tree_block ul li {
  margin: 0;
  padding: 0;
  position: relative;
}
#sitemap ul.tree li.tree_block ul li::before {
  display: none;
  content: '';
  display: inline-block;
  position: absolute;
  top: 0.9em;
  left: -15px;
  width: 8px;
  height: 4px;
  background-color: var(--base);
  border-radius: 100vh;
}
#sitemap ul.tree li.tree_block ul li a {
  font-size: 1.4rem;
}
/*外部リンク*/
/*#sitemap ul.tree li.tree_block ul li a[target="_blank"]::after {
  display: inline-block;
  content: "";
  width: 20px;
  height: 13px;
  background-image: url("../img/icon_link_bk.png");
  background-size: 11px;
  background-repeat: no-repeat;
  background-position: 5px;
}*/
/*==================================================*/
/** link **/
/*==================================================*/
/*#main ul.link li a[target="_blank"]::after {
  display: inline-block;
  content: "";
  width: 20px;
  height: 13px;
  background-image: url("../img/icon_ex.png");
  background-size: 13px;
  background-repeat: no-repeat;
  background-position: 5px;
}*/
/*==================================================*/
/** 404 **/
/*==================================================*/
#main .link_404 {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-around;
  justify-content: space-around;
  margin: 40px 0;
  padding: 0;
  width: 50%;
}
#main .link_404 li {
  width: 100%;
}
#main .link_404 li::before {
  display: none;
}
#main .link_404 li a {
  display: block;
  width: 100%;
}
/*==================================================*/
/** aside **/
/*==================================================*/
aside {
  margin: 0 0 0 40px;
  width: 100%;
  min-width: 260px;
  max-width: 260px;
}
#side {}
#side .top {
  background-color: var(--base);
  color: #fff;
  padding: 22px 35px 22px 20px;
  font-size: 1.6rem;
  line-height: 1.6;
  position: relative;
}
#side .top::after {
  display: block;
  content: '';
  position: absolute;
  top: calc(50% - 4px);
  right: 24px;
  width: 9px;
  height: 9px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  transition: .4s;
}
#side .top a {
  width: 100%;
  display: block;
}
/*外部リンクアイコン*/
#side ul li a {
  position: relative;
}
#side ul li a[target="_blank"]::after {
  display: inline-block;
  content: "";
  width: 16px;
  height: 12px;
  background-image: url("../img/icon_link_bk.png");
  background-size: 11px;
  background-repeat: no-repeat;
  background-position: 5px;
}
/**/
#side > ul {
  border: 1px solid #ccc;
}
#side > ul > li > a, #side > ul > li > span {
  display: block;
  border-bottom: 1px solid #ccc;
  font-size: 1.5rem;
  line-height: 1.6;
  padding: 16px 20px;
}
#side > ul > li > span {
  padding: 16px 30px 16px 20px;
}
#side > ul > li:last-child > a, #side > ul > li:last-child > span {
  border-bottom: none;
}
#side > ul > li > span.open {
  background-color: var(--pale);
}
/*アイコン（+）*/
#side > ul > li > span {
  position: relative;
}
#side > ul > li > span:before, #side > ul > li > span:after {
  display: block;
  content: '';
  background-color: var(--base);
  position: absolute;
}
#side > ul > li > span:before {
  width: 2px;
  height: 12px;
  right: 18px;
  top: calc(50% - 5px);
}
#side > ul > li > span:after {
  width: 12px;
  height: 2px;
  top: 50%;
  right: 13px;
}
/*アイコンactive（-）*/
#side > ul > li > span.open:before {
  display: none;
}
#side > ul > li > span.open:after {
  background-color: var(--base);
}
#side .child {
  display: none;
}
#side .child ul {
  padding: 20px;
  border-bottom: 1px solid #ccc;
}
#side .child ul li {}
#side .child ul li a {
  font-size: 1.3rem;
  line-height: 1.6em;
  padding: 10px 0 10px 20px;
  display: block;
}
/*#side .child ul li a[target="_blank"]::after {
  width: 16px;
  height: 12px;
  background-size: 12px;
  background-position: 4px;
}*/
#side .child ul li a::before {
  display: block;
  content: '';
  position: absolute;
  top: 1.1em;
  left: 0;
  width: 8px;
  height: 8px;
  border-right: 2px solid #ccc;
  border-bottom: 2px solid #ccc;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  transition: .4s;
}