﻿/*----------------------------------------------------------------------------*/
/* --------------------------------------------------- common style */
/*----------------------------------------------------------------------------*/

/* --------------------------------------------------- import */
@import url(style_sidemenu.css);

/* --------------------------------------------------- print */
@media print{
    .no_print{
        display: none;
    }
}

/* --------------------------------------------------- font */
/* importで読み込めない？ケースがあるので（検証用） */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 100;
  src: local("Noto Sans CJK JP Thin"),
       url(https://fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Thin.woff2) format('woff2'),
       url(https://fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Thin.woff) format('woff'),
       url(https://fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Thin.otf) format('opentype');
  font-display: swap;
}
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 300;
  src: local("Noto Sans CJK JP Light"),
       url(https://fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Light.woff2) format('woff2'),
       url(https://fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Light.woff) format('woff'),
       url(https://fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Light.otf) format('opentype');
  font-display: swap;
}
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400;
  src: local("Noto Sans CJK JP Regular"),
       url(https://fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Regular.woff2) format('woff2'),
       url(https://fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Regular.woff) format('woff'),
       url(https://fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Regular.otf) format('opentype');
  font-display: swap;
}
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 500;
  src: local("Noto Sans CJK JP Medium"),
       url(https://fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Medium.woff2) format('woff2'),
       url(https://fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Medium.woff) format('woff'),
       url(https://fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Medium.otf) format('opentype');
  font-display: swap;
}
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 700;
  src: local("Noto Sans CJK JP Bold"),
       url(https://fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Bold.woff2) format('woff2'),
       url(https://fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Bold.woff) format('woff'),
       url(https://fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Bold.otf) format('opentype');
  font-display: swap;
}
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 900;
  src: local("Noto Sans CJK JP Black"),
       url(https://fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Black.woff2) format('woff2'),
       url(https://fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Black.woff) format('woff'),
       url(https://fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Black.otf) format('opentype');
  font-display: swap;
}

/* --------------------------------------------------- common */
/* html,bodyタグの設定 */
html, body{
  margin: 0;      /* 余白の削除 */
  padding: 0;     /* 余白の削除 */
  height: 100%;   /* 縦の高さを100% */
  width: 100%;    /* 横の幅を100% */
  font-family: 'Noto Sans JP', sans-serif,'メイリオ',"ヒラギノ角ゴ Pro","Hiragino Kaku Gothic Pro";
  font-size: 62.5%; /*10px*/
  color: #000;
  background: #fff;
}
/* フォント太さ */
.noto100 {font-weight:100;}
.noto300 {font-weight:300;}
.noto350 {font-weight:350;}
.noto400 {font-weight:400;}
.noto500 {font-weight:500;}
.noto700 {font-weight:700;}
.noto900 {font-weight:900;}

/* リンクイメージのホバー時の透過 */
.link a:hover img, button:hover {
  opacity: .8;
}

/* リンクアイコンの余白 */
.icon_link {
  padding: 5px 0 0 5px;
}
.external_link a:hover img path {
  fill: red;
}
/* 寄せクリア */
.clear {
  clear:both;
}
.space10 {
  height: 10px;
}
.space20 {
  height: 20px;
}
.space30 {
  height: 30px;
}
.space40 {
  height: 40px;
}
.space50 {
  height: 50px;
}
/* イメージのライン（aタグ内のイメージにIE10以下ででラインが出るのを解除） */
img {
  border: 0px;
}

/* テキストエリア選択の青枠を消す */
button,
a,
input {
  outline: none;
}

/* text-align */
.txt-r {
  text-align: right;
}
.txt-c {
  text-align: center;
}

/* テキスト装飾 */
.txt-u {
  text-decoration: underline;
}
.txt-s {
  text-decoration: line-through;
}
/* --------------------------------------------------- wrapper */
@media screen and (min-width:1025px) {
  .wrapper {
    width: 100%;
    min-height: 100%;
    position: relative;
    display: table;
    font-size: 1.3rem;
    font-weight: 100;
  }
  .inner {
    margin: 0 auto;
    width: 90%;
    max-width: 1005px;
  }
}
@media screen and (max-width:1024px) and (min-width:769px) {
  .wrapper {
    width: 100%;
    min-height: 100%;
    position: relative;
    display: inherit;
    font-size: 1.3rem;
    font-weight: 100;
  }
  .inner {
    margin: 0 auto;
    width: 90%;
    max-width: 1005px;
  }
}
@media screen and (max-width: 768px) and (min-width: 481px) {
  .wrapper {
    width: 100%;
    min-height: 100%;
    position: relative;
    display: inherit;
    font-size: 1.4rem;
    font-weight: 100;
  }
  .inner {
    margin: 0 auto;
    width: 80%;
    max-width: 768px;
  }
}
@media screen and (max-width: 480px) {
  .wrapper {
    width: 100%;
    min-height: 100%;
    position: relative;
    display: inherit;
    font-size: 1.4rem;
    font-weight: 100;
  }
  .inner {
    margin: 0 auto;
    width: 90%;
    max-width: 480px;
  }
}

/* --------------------------------------------------- main */
@media screen and (min-width:1025px) {
  .container {
    width: 100%;
    height: 100%;
    text-align: left;
    padding-right: 230px; /* side-menuと同じ幅 */
    margin-right: 230px; /* side-menuと同じ幅 */
    background: #fff;
    display: table-cell;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
  }
}
@media screen and (max-width:1024px) and (min-width: 769px) {
  .container {
    position: relative;
    width: 100%;
    height: 100%;
    padding-right: 0;
    margin-right: 0;
    background: #fff;
    display: inherit;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    z-index: 2;
    overflow-x: hidden;
  }
}
@media screen and (max-width: 768px) and (min-width: 481px) {
  .container {
    position: relative;
    width: 100%;
    height: 100%;
    padding-right: 0;
    margin-right: 0;
    background: #fff;
    display: inherit;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    z-index: 2;
    overflow-x: hidden;
  }
}
@media screen and (max-width: 480px) {
  .container {
    position: relative;
    width: 100%;
    height: 100%;
    padding-right: 0;
    margin-right: 0;
    background: #fff;
    display: inherit;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    z-index: 2;
    overflow-x: hidden;
  }
}
.contents {
}

/* --------------------------------------------------- footer */
.footer {
  width: 100%;
  height: 1270px; /* .contents padding-bottomと同じ高さ */
  background: #f8f7f0;
  font-size: 1.2rem;
  font-weight: 100;
  display: table;
}
.footer a {
  text-decoration: none;
  cursor: pointer;
  color: #000;
}
.footer ul {
  list-style: none;
  padding: 0;
}
.footer-info {
  display: table-cell;
  vertical-align: top;
  padding-top: 77px;
}
/* フッターサイトマップ */
.footer-sitemap {
  height: 1150px;
  border-bottom: 1px solid #c9caca;
}
.footer-navi {
  width: 79%;
  /*letter-spacing: -0.1rem;*/
}
.footer-menu-col h2 {
  font-size: 1.7rem;
  font-weight: 400;
  margin: 0 0 20px 0;
}
.footer-menu-col h3,
.footer-menu-col h4 {
  font-size: 1.2rem;
  font-weight: 100;
  margin: 0;
}
.footer-menu-col h4 {
  padding-left: 14px;
}
.footer-menu-col-inner {
  height: 100%;
  border-left: 1px solid #c9caca;
  padding-left: 10px;
  margin-top: 20px;
}
.footer-submenu li {
  line-height: 2.4rem;
}
.footer-submenu .depa {
  padding-left: 28px;
}

.footer-menu{
  padding-right: 60px;
  overflow: hidden;
}
.footer-menu-col{
  margin: 0 20px 20px 0;
  float: left;
  width: 33.33%;
  padding-bottom: 1000px;
  margin-bottom: -1000px;
}
.footer-menu-col--three-first,
.footer-menu-col--three{
  margin-right: -60px;
}
/* 大学情報 */
.univ-info {
  height: 932px;
  border-left: 1px solid #c9caca;
  line-height: 2.4rem;
}
/* 評価 */
.evaluation {
  height: 670px;
}
.evaluation .eva-img {
  text-align: center;
}
.evaluation .eva-str {
  margin-bottom: 30px;
}
.address {
  margin-top: 45px;
}
.evaluation,
.group-link,
.address {
  margin-left: 30px;
}
/* セカンドメニュー */
.footer-second-menu {
  margin: 60px 0 50px 0;
  text-align: center;
}
.footer-second-menu nav ul {
  margin: 0;
}
.footer-second-menu nav ul li {
  display: inline-block;
  padding: 0 5px;
  border-right: 1px solid #c9caca;
}
.footer-second-menu nav ul li:first-child {
  padding-left: 0;
}
.footer-second-menu nav ul li:last-child {
  border-right: 0;
}
/* コピーライト */
.copyright {
  width: 100%;
  height: 70px;
  text-align: center;
  padding-top: 50px;
  background: #f8f7f0;
  font-size: 1.2rem;
}
@media screen and (max-width: 768px) and (min-width: 481px){
  .footer-menu-col--three-first ,
  .footer-menu--three{
    padding-right: 0;
    overflow: visible;
  }
  .footer-menu-col--three-first {
    margin-right: 20px;
  }
  .footer-menu{
    padding-right: 20px;
  }
  .footer-menu-col{
    width: 50%;
  }
  .footer-menu-col--two{
    margin-right: -20px;
  }
  /*  */
  .footer {
    height: 1800px;
  }
  .footer-info {
    display: block;
    padding-top: 50px;
  }
  .footer-navi {
    width: 100%;
  }
  .footer-sitemap {
    height: 1360px;
    border-bottom: 0px;
  }
  /* 大学情報 */
  .univ-info {
    width: 100%;
    height: 350px;  /* 250->350 変更（対 CASRAC） */
    border-left: 0px;
    line-height: 2.4rem;
    padding-top: 30px;
  }
  /* 評価 */
  .evaluation {
    width: 70%;
    height: 100%;
    float: left;
    text-align: left;
    margin: 0;
    padding-left: 20px;
  }
  .evaluation .eva-str {
    width: 70%;
    float: right;
    margin-top: -97px;
    padding-right: 5%;
  }
  .evaluation .eva-img {
    padding-top: 0;
    text-align: left;
    width: 30%;
    float-left;
  }
  .univ-info-inner {
    width: 30%;
    float: right;
  }
  .group-link {
    margin-top: 10px;
  }
  .address {
    margin-top: 30px;
  }
  .evaluation,
  .group-link,
  .address {
    margin-left: 0;
  }
  /* セカンドメニュー */
  .footer-second-menu {
    margin: 30px 0 50px 0;
    text-align: center;
  }
  /* コピーライト */
  .copyright {
    padding-top: 100px;
  }
}
@media screen and (max-width: 480px){
  .footer-menu{
    padding-right: 0;
  }
  .footer-menu-col{
    margin-right: 0;
    width: 100%;
  }
  /*  */
  .footer ,
  .footer-sitemap {
    height: 120px;
    font-size: 1.3rem;
  }
  .footer-info {
    display: none;
  }
}

/* --------------------------------------------------- pagetop */
#page-top {
  position: fixed;
  bottom: 10px;
  right: 245px;
  z-index: 10;
}
#page-top a {
  text-decoration: none;
  display: block;
}
#page-top a:hover {
  text-decoration: none;
}
.page-top-responsive {
  display: none!important;
}
@media screen and (max-width:1024px) {
  #page-top {
    position: fixed;
    right: 20px;
  }
}
@media screen and (max-width: 480px) {
  #page-top {
    bottom: 10px;
    right: 10px;
  }
  .page-top {
    display: none!important;
  }
  .page-top-responsive {
    display: inherit!important;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: rgba(2,155,150, 0.6);
  }
  .page-top-responsive::after {
    content: "";
    position: absolute;
    top: 20px;
    left: 17px;
    width: 14px;
    height: 14px;
    border-top: 2px solid #fff;
    border-left: 2px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg)
  }
}
/* --------------------------------------------------- arrow */
.arrow{
  position: relative;
  display: inline-block;
  color: #000;
  text-decoration: none;
}
.arrow::before,
.arrow::after{
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  content: "";
}
.arrow-important {
  top: -5px;
}
/* サイズ中 */
.middle-size {
  padding: 0 0 0 25px;
  font-size: 1.8rem;
  font-weight: 300;
  line-height: 3.2rem;
}
.middle-size::before{
  width: 17px;
  height: 17px;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  background: #fff;
  border: 1px solid #ccc;
}
.middle-size::after{
  left: 8px;
  box-sizing: border-box;
  width: 4px;
  height: 4px;
  border: 4px solid transparent;
  border-left: 4px solid #000;
}
/* サイズ小 */
.small-size {
  padding: 0 0 0 17px;
  font-size: 1.3rem;
  font-weight: 300;
  line-height: 2.5rem;
}
.small-size::before{
  width: 12px;
  height: 12px;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  background: #000;
}
.small-size::after{
  left: 5px;
  box-sizing: border-box;
  width: 3px;
  height: 3px;
  border: 3px solid transparent;
  border-left: 3px solid #fff;
}
/* サイズ小 赤 */
.small-size-red {
  padding: 0 0 0 17px;
  font-size: 1.4rem;
  font-weight: 300;
  line-height: 2.5rem;
}
.small-size-red::before{
  width: 12px;
  height: 12px;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  background: orangered;
}
.small-size-red::after{
  left: 5px;
  box-sizing: border-box;
  width: 3px;
  height: 3px;
  border: 3px solid transparent;
  border-left: 3px solid #fff;
}
.small-size .bold {
  font-size: 1.3rem;
  font-weight: 600;
  line-height: 2.5rem;
}
/* サイズ小 span使用 */
.small-size-s {
  padding: 0 0 0 14px;
  font-size: 1.4rem;
  font-weight: 300;
  line-height: 2.5rem;
  top:-4px;
}
.small-size-s::before{
  width: 12px;
  height: 12px;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  background:#000;
}
.small-size-s::after{
  left: 5px;
  box-sizing: border-box;
  width: 3px;
  height: 3px;
  border: 3px solid transparent;
  border-left: 3px solid #fff;
}
.arrow-a {
  color: #000;
  text-decoration: none;
}
@media screen and (max-width: 768px) and (min-width: 481px){
}
@media screen and (max-width: 480px){
  /* サイズ中 */
  .middle-size {
    font-size:1.8rem;
    font-weight: 300;
    line-height: 3.2rem;
  }
  /* サイズ小 */
  .small-size {
    font-size: 1.4rem;
    font-weight: 300;
    line-height: 2.5rem;
  }
}

/* --------------------------------------------------- icon */
.icon-external-link::after {/* 別ウィンドウ */
  content: url("../img/icon_external_link.svg");
  margin-left: 5px;
}
.icon-external-link-w::after {/* 別ウィンドウ（白） */
  content: url("../img/icon_external_link_w.svg");
  margin-left: 5px;
}
.icon-pdf-link {
}
.icon-pdf-link::after {/* PDF */
  content: url("../img/icon_pdf_link.svg");
  margin-left: 5px;
}
.icon-word-link {
}
.icon-word-link::after {/* WORD */
  content: url("../img/icon_word_link.svg");
  margin-left: 5px;
}
.icon-excel-link::after {
/*  position: relative;*/
  content: url("../img/icon_excel_link.svg");
  margin-left: 5px;
}
.icon-excel-link::after {/* EXCEL */
  content: url("../img/icon_excel_link.svg");
  margin-left: 5px;
}
.icon-powerpoint-link::after {/* PowerPoint */
  content: url("../img/icon_powerpoint_link.svg");
  margin-left: 5px;
}
/* --------------------------------------------------- mail icon */
.icon-mail {
  color: #000;
  position: absolute;
  margin-left: 2px;
  margin-top: 4px;
  width: 15px;
  height: 10px;
  border-radius: 1px;
  border: solid 1px currentColor;
  clear: both;
}
.icon-mail:before {
  content: '';
  position: absolute;
  left: 7px;
  top: -4px;
  width: 1px;
  height: 10px;
  background-color: currentColor;
  -webkit-transform-origin: bottom;
          transform-origin: bottom;
  -webkit-transform: rotate(-54deg);
          transform: rotate(-54deg);
}
.icon-mail:after {
  content: '';
  position: absolute;
  left: 7px;
  top: -4px;
  width: 1px;
  height: 10px;
  background-color: currentColor;
  -webkit-transform-origin: bottom;
          transform-origin: bottom;
  -webkit-transform: rotate(54deg);
          transform: rotate(54deg);
}
/* --------------------------------------------------- card2 */
.card2--two{
  padding-right: 100px;
  overflow: hidden;
}
.card2-col{
  margin: 0 50px 20px 0;
  background: transparent;
  float: left;
  width: 50%;
  padding-bottom: 500px;
  margin-bottom: -500px;
}
.card2-col--two{
  margin-right: -60px;
}
@media screen and (max-width: 768px){
  .card2--two{
    padding-right: 0;
    overflow: visible;
  }
  .card2{
    padding-right: 0;
  }
  .card2-col{
    margin-right: 0;
    width: 100%;
    padding-bottom: 0;
    margin-bottom: 20px;
  }
  .card2-col{
    margin-right: -20px;
  }
}


/* --------------------------------------------------- search-results */
.search-results {
  margin: 50px auto;
}


/* --------------------------------------------------- etc setting */
div.special-comment {/*特記　囲みボックス*/
  background: rgb(178,223,223);
  margin: 25px 0;
  padding: 25px;
  text-align: left;
}
div .special-comment p {
  margin: 0;
  font-size: 1.5rem!important;
  font-weight: 300!important;
}


/* --------------------------------------------------- table */
/* レスポンシブ用 */
.table-responsive {
  width: 100%;
  overflow-x: auto!important;/* 横スクロール */
}
.table-responsive::-webkit-scrollbar {/* レスポンシブ対応スクロール設定 */
  padding-top: 1px;
  height: 4px;
}
.table-responsive-vertical {
  height: 300px;
  overflow-y: auto!important;/* 縦スクロール */
}
.table-responsive-vertical::-webkit-scrollbar {/* レスポンシブ対応スクロール設定 */
  padding-left: 1px;
  width: 4px;
}
.table-responsiver::-webkit-scrollbar-track,
.table-responsiver-vertical::-webkit-scrollbar-track {/* レスポンシブ対応スクロール設定 */
  border-radius: 3px;
  background: #eee;
}
.table-responsive::-webkit-scrollbar-thumb,
.table-responsive-vertical::-webkit-scrollbar-thumb {/* レスポンシブ対応スクロール設定 */
  border-radius: 3px;
  background: #989999;
}
.table-responsive-horizontal {/* 縦横ヘッダ位置変更用 */
  width: 100%;
  overflow: auto!important;/* 横縦スクロール */
}
@media screen and (max-width: 768px) {
  .table-responsive-horizontal {/* 縦横ヘッダ位置変更用 */
    overflow: hidden;/* 横縦スクロール */
  }
}
/* ******************** テーブル　ベース処理 */
table {
  border-spacing: 0;
  border-collapse: collapse;
}
td,
th {
  padding: 0;
}
table {
  background-color: transparent;
}
caption {
  padding-top: 8px;
  padding-bottom: 8px;
  color: #000;
  text-align: left;
}
th {
  text-align: left;
}
/* ********************　通常テーブル（複雑なテーブルなど） */
table.type-base {
  width: 100%;
}
table.type-base th,
table.type-base td {
  border: 1px solid #ccc;
}
table.type-base th:first-child,
table.type-base td:first-child {
  border-left: 0;
}
table.type-base th:last-child,
table.type-base td:last-child {
  border-right: 0;
}
table.type-base thead th {
  background: #dedede;
  font-size: 1.3rem;
  font-weight: 400;
  height: 40px;
  text-align: center;
}
table.type-base tbody tr {
  font-size: 1.3rem;
  font-weight: 300;
  background: #fff;
  height: 35px;
}
table.type-base tbody th,
table.type-base thead th.tbodyhead {
  background: #e8e8e8;
  font-size: 1.3rem;
  font-weight: 400;
  text-align: left;
  padding-left: 10px;
  padding-right: 5px;
}
table.type-base tbody td {
  padding: 5px;
}
table.type-base th,
table.type-base td {
  white-space: nowrap;
}
table.type-base a {
  text-decoration: none;
  color: #000;
}
table.type-base a:hover {
  color: #c9caca;
}
table.type-base .total-row {
  border-top: 3px double #ccc;
}
table.type-base .total-col {
  border-left: 3px double #ccc;
}
table.type-base .head-vertical p {/* 縦書きセル */
  margin: 0 12px 0 0;
  -ms-writing-mode: tb-lr;            /* IE用　*/
  -webkit-writing-mode: vertical-lr;  /* chrome用　*/
  -o-writing-mode: vertical-lr;       /* opera用　*/
  writing-mode: vertical-lr;
  text-align: left!important;/* 縦書きなので先頭合わせ */
  font-size: 1.3rem;
  font-weight: 400;
  height: 100px;
}
/* ********************　通常テーブル（ボーダーなし） */
table.type-base-no {
  width: 100%;
}
table.type-base-no th,
table.type-base-no td {
  border: 0;
}
table.type-base-no thead th {
  font-size: 1.3rem;
  font-weight: 400;
  height: 40px;
  text-align: center;
}
table.type-base-no tbody tr {
  font-size: 1.3rem;
  font-weight: 300;
  background: #fff;
  height: 35px;
}
table.type-base-no tbody th,
table.type-base-no thead th.tbodyhead {
  font-size: 1.3rem;
  font-weight: 400;
  text-align: left;
  padding-left: 10px;
  padding-right: 5px;
}
table.type-base-no tbody td {
  padding: 5px;
}
table.type-base-no th,
table.type-base-no td {
  white-space: nowrap;
}
table.type-base-no a {
  text-decoration: none;
  color: #000;
}
table.type-base-no a:hover {
  color: #c9caca;
}
/* ********************　通常テーブル（ボーダーなし） */
.table-responsivew0 {
  width: 100%;
}
table. {
  margin: 10px 0 0;
}
table.type-base-no-w0 th,
table.type-base-no-w0 td {
  border: 0;
}
table.type-base-no-w0 thead th {
  font-size: 1.3rem;
  font-weight: 400;
  height: 40px;
  text-align: center;
}
table.type-base-no-w0 tbody tr {
  font-size: 1.3rem;
  font-weight: 300;
  background: #fff;
  height: auto;
}
table.type-base-no-w0 tbody th,
table.type-base-no-w0 thead th.tbodyhead {
  font-size: 1.3rem;
  font-weight: 400;
  text-align: left;
  padding-left: 10px;
  padding-right: 5px;
}
table.type-base-no-w0 tbody td {
  padding: 2px 5px;
}
table.type-base-no-w0 th,
table.type-base-no-w0 td {
}
table.type-base-no-w0 a {
  text-decoration: none;
  color: #000;
}
table.type-base-no-w0 a:hover {
  color: #c9caca;
}
table.type-base-no-w0 .top-border {
  border-top:1px solid #ccc;
}
/* ******************** 通常テーブル 行設定あり 行ヘッダ */
table.rowtype-odd-even td {
  border-top: 0!important;
  border-bottom: 0!important;
}
table.rowtype-odd-even {
  border-bottom: 1px solid #ccc!important;
}
table.rowtype-odd-even tbody tr:nth-child(odd) {/*偶数行背景色変更*/
  background: #f7f5ed;
}

/* ******************** 縦横変換テーブル（1ヘッダ1カラムなど） 行ヘッダ */
@media screen and (max-width: 768px) {
  table.type-horizontal,
  table.type-horizontal thead,
  table.type-horizontal tbody,
  table.type-horizontal tr,
  table.type-horizontal th,
  table.type-horizontal td {
    display: block;
  }
  table.type-horizontal thead {
    float: left;
  }
  table.type-horizontal tbody {
    overflow-x: auto;
    overflow-y: hidden;
    white-space: nowrap;
    width: auto;
  }
  table.type-horizontal tbody tr {
    display: inline-block;
    vertical-align: top;
    height: 100%;
    margin-left: -3px;
  }
  table.type-horizontal thead th,
  table.type-horizontal tbody td {
    height: 30px!important;
    padding: 10px 10px 0 10px;
    text-align: left;
    border-top: 1px solid #c9caca!important;
    border-right: 1px solid #c9caca!important;
    border-bottom: 0!important;
    border-left: 0!important;
  }
  table.type-horizontal thead th:last-child,
  table.type-horizontal tbody td:last-child {
    border-bottom: 1px solid #c9caca!important;
  }
  table.type-horizontal tbody::-webkit-scrollbar {/* レスポンシブ対応スクロール設定 */
    padding-top: 1px;
    height: 4px;
  }
  table.type-horizontal tbody::-webkit-scrollbar-track {/* レスポンシブ対応スクロール設定 */
    border-radius: 3px;
    background: #eee;
  }
  table.type-horizontal tbody::-webkit-scrollbar-thumb {/* レスポンシブ対応スクロール設定 */
    border-radius: 3px;
    background: #989999;
  }


}
/* ******************** シンプルテーブル（1ヘッダ1カラムなど） 行ヘッダ */
table.type-simple {
  width: 100%;
}
table.type-simple th,
table.type-simple td {
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}
table.type-simple th:first-child,
table.type-simple td:first-child {
  border-right: 1px solid #ccc;
}
table.type-simple thead th {
  background: #e8e8e8;
  font-size: 1.3rem;
  font-weight: 500;
  height: 40px;
  text-align: center;
}
table.type-simple tbody tr {
  background: #fff;
  height: 35px;
}
table.type-simple tbody th,
table.type-simple tbody td {
  padding: 5px;
  font-size: 1.3rem;
  font-weight: 300;
}
table.type-simple th {
  white-space: nowrap;
}
table.type-simple .total-row {
  border-top: 3px solid #ccc;
}

table.headerwidth-one_third tbody th {
  width: 33%;
}

table.type-simple a {
  text-decoration: none;
  color: #000;
}

/* ******************** シンプルテーブル2（1ヘッダ1カラムなど） 行ヘッダ */
table.type-simple-b {
  width: 100%;
}
table.type-simple-b th,
table.type-simple-b td {
  border: 1px solid #ccc;
}
table.type-simple-b th:first-child,
table.type-simple-b td:first-child {
  border-left: 0;
}
table.type-simple-b th:last-child,
table.type-simple-b td:last-child {
  border-right: 0;
}
table.type-simple-b thead th {
  background: #e8e8e8;
  font-size: 1.3rem;
  font-weight: 500;
  height: 40px;
  text-align: center;
}
table.type-simple-b tbody tr {
  background: #fff;
  height: 35px;
}
table.type-simple-b tbody th,
table.type-simple-b tbody td {
  padding: 5px;
  font-size: 1.3rem;
  font-weight: 300;
}
table.type-simple-b th {
  white-space: nowrap;
}
table.type-simple-b .total-row {
  border-top: 3px solid #ccc;
}
table.type-simple-b a {
  text-decoration: none;
  color: #000;
}
/* ******************** 縦テーブル */
table.type-vert {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0 20px;
}
table.type-vert thead {
  display: none;
}
table.type-vert th {
  background-color: #e8e8e8;
}
table.type-vert th,
table.type-vert td {
  border: none;
  display: block;
  width: 100%;
  box-sizing: border-box;
  border-bottom: 1px solid #ccc;
  padding: 5px;
  font-size: 1.3rem;
  font-weight: 300;
}
table.type-vert td {
  font-weight: 100;
  padding-left: 1.5rem;
}
table.type-vert td.title {
  font-weight: 400;
  font-size: 1.5rem;
  padding: 5px;
}
table.type-vert td:before {
  content: attr(data-title) "\A";
  white-space: pre;
}
table.type-vert:after {
  content: "";
  clear: both;
  display: block;
}
table.table-border0 td {
  border: 0;
}

/* ******************** キャプション設定 */
caption.cap-title {/* タイトル */
  text-align: left;
  font-weight: 400;
  font-size: 1.4rem;
}
caption.cap-unit {/* 単位 */
  text-align: right;
  font-size: 1.2rem;
  font-weight: 300;
}
caption.cap-first {/* １テーブルに2個目のキャプションの場合は高さ調整 */
  margin-bottom: -35px;
}
.firefox-unit {
  display: none;
}
@-moz-document url-prefix() {/* FireFox用 */
  caption.cap-first {/* １テーブルに2個目のキャプションの場合は高さ調整 */
    margin-bottom: 0px;
  }
  .firefox-unit {
    display:inline;
    font-size: 1.2rem;
    font-weight: 300;
  }
}

/* ******************** 学部カラー設定 */
/* ベースカラーの30％ */
.human-cell { /* 人間科学部 */
  color: #41b4d5;
  font-weight: 500;
}
.administration-cell { /* 総合政策学部 */
  color: #8dd700;
  font-weight: 500;
}
.nurse-cell { /* 看護学部 */
  color: #f87700;
}
.college-cell { /* 短大 */
  color: #e64c78;
}
.graduate-cell { /* 大学院 */
  color: #8e579a;
}
/* ******************** セル設定 */
.num-cell,   /* 数字 */
.money-cell {/* 金額 */
  text-align: right!important;
  padding-right: 10px!important;
}
.excluded-cell {/*除外マーク*/
  text-align: center!important;
}
.textarea-cell {
  text-align: left!important;
  white-space: normal!important;
}
.table-wrap .type-base td {
  text-align: left!important;
  white-space: normal!important;
}
.table-wrap p {
  margin: 0 0 15px 0;
}
/* --------------------------------------------------- banner */
.banner {
  position: relative;
  margin-top: 74px;
  margin-bottom: 30px;
  width: 100%;
}
.banner img {
  width: 100%;
  height: auto;
}

.banner-array {
  position: relative;
  margin-top: 74px;
  margin-bottom: 30px;
  width: 100%;
}
.banner-array img {
  width: 100%;
  height: auto;
}
.banner4--four{
  padding-right: 90px;
  overflow: hidden;
}
.banner4-col{
  margin: 0 30px 20px 0;
  background: transparent;
  float: left;
  width: 25%;
  padding-bottom: 500px;
  margin-bottom: -480px;
}
.banner4-col--four{
  margin-right: -90px;
}
@media screen and (max-width: 768px) and (min-width: 481px){
  .banner4--four{
    padding-right: 0;
    overflow: visible;
  }
  .banner4--three{
    margin-bottom: 20px;
    padding-right: 30px;
    overflow: hidden;
  }
  .banner4-col{
    width: 30%;
    padding-bottom: 0;
    margin-bottom: 20px;
  }
  .banner4-col--four{
    margin-right: 30px;
  }
  .banner4-col--three{
    margin-right: -30px;
  }
}
.banner-one {
  position: relative;
  margin: 74px 0 30px 30px;
  width: 100%;
}
@media screen and (max-width: 480px){
  .banner4{
    padding-right: 0;
    margin-right: 30px;
  }
  .banner4-col{
    width: 50%;
    padding-bottom: 0;
    margin-bottom: 20px;
  }
  .banner4-col--two{
    margin-right: -30px;
  }
}

