html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline
}

html {
  line-height: 1
}

ol, ul {
  list-style: none
}

table {
  border-collapse: collapse;
  border-spacing: 0
}

caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle
}

q, blockquote {
  quotes: none
}

q:before, q:after, blockquote:before, blockquote:after {
  content: "";
  content: none
}

a img {
  border: none
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  display: block
}

@keyframes fadein {
  0% {
    opacity: 0
  }
  100% {
    opacity: 1
  }
}

@-webkit-keyframes fadein {
  0% {
    opacity: 0
  }
  100% {
    opacity: 1
  }
}

@keyframes fadeout {
  0% {
    opacity: 1
  }
  100% {
    opacity: .5
  }
}

@-webkit-keyframes fadeout {
  0% {
    opacity: 1
  }
  100% {
    opacity: .5
  }
}

@keyframes nofade {
  0% {
    opacity: 1
  }
  100% {
    opacity: 1
  }
}

@-webkit-keyframes nofade {
  0% {
    opacity: 1
  }
  100% {
    opacity: 1
  }
}

#meta_outer {
  background-color: #fff;
  position: relative;
  top: 20px;
  z-index: 101
}

@media screen and (max-width: 735px) {
  #meta_outer {
    position: fixed;
    top: 50px
  }
  #meta_outer #meta ul#link {
    width: 100%;
    letter-spacing: -0.4em
  }
  #meta_outer #meta ul#link li {
    width: 33.33333% !important
  }
  #meta_outer #meta ul#link li a {
    background: #fff
  }
  #meta_outer #meta ul#link li a:hover {
    background: #eee
  }
  body.ee #meta_outer #meta ul li a {
    background: #7c006d
  }
  body.ee #meta_outer #meta ul li a:hover {
    color: #ffb8f6
  }
  body.ii #meta_outer #meta ul li a {
    background: #00437c
  }
  body.ii #meta_outer #meta ul li a:hover {
    color: #3a6eb6
  }
  body.me #meta_outer #meta ul li a {
    background: #007c65
  }
  body.me #meta_outer #meta ul li a:hover {
    color: #a4d4a2
  }
  body.lb #meta_outer #meta ul li a {
    background: #477c00
  }
  body.lb #meta_outer #meta ul li a:hover {
    color: #e6ffc4
  }
  body.ac #meta_outer #meta ul li a {
    background: #987000
  }
  body.ac #meta_outer #meta ul li a:hover {
    color: #f9f8bf
  }
}

body.ee #header_outer #header h1 a {
  color: #a44394
}

body.ii #header_outer #header h1 a {
  color: #2062af
}

body.me #header_outer #header h1 a {
  color: #12a790
}

body.lb #header_outer #header h1 a {
  color: #63b72f
}

body.ac #header_outer #header h1 a {
  color: #e3b116
}

#header_outer {
  margin-top: -25px;
  padding: 15px;
  position: relative;
  z-index: auto
}

#header_outer #header h1 {
  z-index: 110;
  position: relative
}

#header_outer #header h1 a {
  width: auto;
  height: auto;
  background: none;
  text-indent: inherit;
  font-size: 150%;
  font-weight: bold
}

#header_outer #header h1 a .department_name {
  font-size: 80%
}

@media screen and (max-width: 735px) {
  #header_outer {
    margin: 0;
    text-align: center
  }
  #header_outer #header {
    height: auto;
    display: inline-block
  }
  #header_outer #header #sitetitle {
    width: auto;
    font-size: 80%;
    text-align: center;
    padding: 0
  }
  #header_outer #header #sitetitle a {
    display: inline-block
  }
}

body.ee #nav2 ul li a:hover {
  background: #7c006d
}

body.ii #nav2 ul li a:hover {
  background: #00437c
}

body.me #nav2 ul li a:hover {
  background: #007c65
}

body.lb #nav2 ul li a:hover {
  background: #477c00
}

body.ac #nav2 ul li a:hover {
  background: #987000
}

#nav2 {
  border-top: 1px solid #ccc
}

#nav2 ul {
  letter-spacing: -0.4em
}

#nav2 ul li {
  width: 25%
}

#nav2 ul li a:hover {
  color: #fff
}

#nav2 ul li a {
  display: block
}

#nav2 ul li a span {
  display: block
}

body.ee #footer_outer {
  background: #a44394
}

body.ii #footer_outer {
  background: #2062af
}

body.me #footer_outer {
  background: #12a790
}

body.lb #footer_outer {
  background: #63b72f
}

body.ac #footer_outer {
  background: #e3b116
}

#footer_outer {
  padding: 0
}

#footer_outer #footer {
  max-width: none
}

#footer_outer #footer #credit .credit {
  color: #fff
}

#footer_outer #footer #credit address {
  color: #fff
}

#footer_outer #footer #credit address span a {
  color: #fff
}

#footer_outer #footer #copyright {
  color: #fff
}

body.ee #index_contents_outer #contents #index_main .columnbox .column4 div h2 {
  border-bottom: 2px solid #a44394
}

body.ee #index_contents_outer #contents #index_main .columnbox .column4 div h2 a {
  color: #a44394
}

body.ii #index_contents_outer #contents #index_main .columnbox .column4 div h2 {
  border-bottom: 2px solid #2062af
}

body.ii #index_contents_outer #contents #index_main .columnbox .column4 div h2 a {
  color: #2062af
}

body.me #index_contents_outer #contents #index_main .columnbox .column4 div h2 {
  border-bottom: 2px solid #12a790
}

body.me #index_contents_outer #contents #index_main .columnbox .column4 div h2 a {
  color: #12a790
}

body.lb #index_contents_outer #contents #index_main .columnbox .column4 div h2 {
  border-bottom: 2px solid #63b72f
}

body.lb #index_contents_outer #contents #index_main .columnbox .column4 div h2 a {
  color: #63b72f
}

body.ac #index_contents_outer #contents #index_main .columnbox .column4 div h2 {
  border-bottom: 2px solid #e3b116
}

body.ac #index_contents_outer #contents #index_main .columnbox .column4 div h2 a {
  color: #e3b116
}

#index_contents_outer {
  overflow: hidden
}

#index_contents_outer #contents #newsbox_outer {
  background-color: #fff
}

#index_contents_outer #contents #newsbox_outer #newsbox {
  max-width: 1200px;
  margin: 0 auto;
  padding: 35px 0;
  background: none;
  display: block
}

#index_contents_outer #contents #newsbox_outer #newsbox .newsheader {
  padding: 0
}

#index_contents_outer #contents #newsbox_outer #newsbox .newsheader h2 {
  margin-bottom: 30px;
  font-size: 150%;
  display: inline-block
}

#index_contents_outer #contents #newsbox_outer #newsbox .newsheader p {
  float: right
}

#index_contents_outer #contents #newsbox_outer #newsbox .newsheader p a {
  padding: 5px 15px;
  display: inline-block;
  vertical-align: middle;
  font-size: 75%;
  font-weight: bold;
  text-decoration: none;
  color: #fff;
  background-color: #555;
  border-radius: 4px
}

#index_contents_outer #contents #newsbox_outer #newsbox .newsheader p a:after {
  margin: 0 0 0 5px;
  content: '\f105';
  font-family: FontAwesome
}

#index_contents_outer #contents #newsbox_outer #newsbox .newsheader p a:hover {
  transition-property: background-color, border, color, opacity;
  transition-duration: .2s;
  transition-timing-function: linear;
  -webkit-transition-property: background-color, border, color, opacity;
  -webkit-transition-duration: .2s;
  -webkit-transition-timing-function: linear;
  color: #555;
  background-color: #fff
}

#index_contents_outer #contents #newsbox_outer #newsbox ul {
  border-bottom: 1px solid #ccc;
  clear: both
}

#index_contents_outer #contents #newsbox_outer #newsbox ul li {
  padding: 20px 0;
  border-top: 1px solid #ccc;
  font-size: 87.5%;
  line-height: 1.5;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  justify-content: flex-start
}

#index_contents_outer #contents #newsbox_outer #newsbox ul li .entrydate {
  display: inline-block;
  margin-right: 1em;
  flex-basis: 4.5em
}

#index_contents_outer #contents #newsbox_outer #newsbox ul li a {
  overflow: hidden;
  flex-basis: calc(100% - 4.5em)
}

#index_contents_outer #contents #index_main {
  max-width: 1200px;
  margin: 0 auto
}

#index_contents_outer #contents #index_main .columnbox {
  margin: 35px 0 15px -2%;
  letter-spacing: -0.4em
}

#index_contents_outer #contents #index_main .columnbox .column4 {
  width: 23%;
  margin: 0 0 0 2%;
  display: inline-block;
  letter-spacing: normal;
  vertical-align: top
}

#index_contents_outer #contents #index_main .columnbox .column4 div {
  position: relative;
  display: block;
  border: 1px solid #fff;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 8px
}

#index_contents_outer #contents #index_main .columnbox .column4 div h2 a {
  display: block;
  padding: 15px;
  font-weight: bold;
  position: relative
}

#index_contents_outer #contents #index_main .columnbox .column4 div h2 a:before {
  position: absolute;
  content: '\f105';
  top: 50%;
  right: 20px;
  margin: -8px 0 0;
  font-family: FontAwesome;
  font-size: 16px;
  color: #999;
  line-height: 1
}

#index_contents_outer #contents #index_main .columnbox .column4 div h2 a:hover {
  background: #f3f3f3;
  -webkit-border-radius: 8px 8px 0 0 / 8px 8px 0 0;
  -moz-border-radius: 8px 8px 0 0 / 8px 8px 0 0;
  border-radius: 8px 8px 0 0 / 8px 8px 0 0
}

#index_contents_outer #contents #index_main .columnbox .column4 div ul {
  padding: 10px 0
}

#index_contents_outer #contents #index_main .columnbox .column4 div ul li a {
  font-size: 85.5%;
  padding: 12px 15px;
  color: #000;
  display: block;
  position: relative
}

#index_contents_outer #contents #index_main .columnbox .column4 div ul li a:hover {
  background: #f3f3f3
}

#index_contents_outer #contents #index_main .columnbox .column4 div ul li a[target="_blank"]:before {
  content: '\f08e'
}

#index_contents_outer #contents #index_main .columnbox .column4 div ul li a:before {
  position: absolute;
  content: '\f105';
  top: 50%;
  right: 20px;
  margin: -8px 0 0;
  font-family: FontAwesome;
  font-size: 16px;
  color: #999;
  line-height: 1
}

@media screen and (max-width: 1200px) {
  #index_contents_outer #contents #newsbox_outer #newsbox {
    max-width: 94%
  }
  #index_contents_outer #contents #index_main {
    max-width: 94%
  }
}

@media screen and (max-width: 735px) {
  #index_contents_outer #contents #index_main .columnbox {
    margin-left: 0;
    width: 100%
  }
  #index_contents_outer #contents #index_main .columnbox .column4 {
    width: 100%;
    margin: 0
  }
}

#topimg_outer {
  max-height: 500px
}

#topimg_outer #topimg {
  text-align: center;
  position: relative;
  z-index: 1
}

#topimg_outer #topimg img {
  width: 100%;
  height: auto
}

#topimg_outer #topimg .toptitle {
  max-width: 920px;
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0
}

@media screen and (max-width: 735px) {
  #topimg_outer {
    padding: 0
  }
}

#topicpath {
  margin-bottom: 20px;
  background: none
}

body.ee .listtitle h1 {
  color: #a34393
}

body.ii .listtitle h1 {
  color: #2062af
}

body.me .listtitle h1 {
  color: #12a790
}

body.lb .listtitle h1 {
  color: #63b72f
}

body.ac .listtitle h1 {
  color: #e3b116
}

.listtitle {
  margin: 0
}

.listtitle h1 {
  width: 299px;
  text-align: center;
  background: #fff
}

.listtitle h1>span span {
  padding: 0 20px;
  display: block
}

@media screen and (max-width: 735px) {
  .listtitle {
    padding: 100px 0 0
  }
  .listtitle h1 {
    width: 100%
  }
}

body.ee .listbody .articlelist h2:before {
  background: #a34393
}

body.ii .listbody .articlelist h2:before {
  background: #2062af
}

body.me .listbody .articlelist h2:before {
  background: #12a790
}

body.lb .listbody .articlelist h2:before {
  background: #63b72f
}

body.ac .listbody .articlelist h2:before {
  background: #e3b116
}

@media screen and (max-width: 735px) {
  .article {
    padding: 20px 3%
  }
}

.listbody {
  margin-bottom: 30px
}

@media screen and (max-width: 1200px) {
  .listbody {
    width: 94%;
    margin: 0 auto
  }
}

@media screen and (max-width: 735px) {
  .listbody {
    padding: 0;
    margin: 30px auto 20px
  }
  .listbody .columnbox {
    width: 100%;
    margin-left: 0
  }
  .listbody .columnbox .column3 {
    width: 100%;
    margin-left: 0
  }
}

body.ee .pagetitle {
  border-top: 3px solid #a34393
}

body.ii .pagetitle {
  border-top: 3px solid #2062af
}

body.me .pagetitle {
  border-top: 3px solid #12a790
}

body.lb .pagetitle {
  border-top: 3px solid #63b72f
}

body.ac .pagetitle {
  border-top: 3px solid #e3b116
}

.pagetitle {
  margin: -30px -50px 30px;
  padding: 30px 50px;
  background-color: #fff;
  background-size: auto 100%;
  background-position: right top;
  background-repeat: no-repeat;
  background-images: inherit !important;
  border-bottom: 1px solid #ddd
}

@media screen and (max-width: 735px) {
  .pagetitle {
    padding: 0 3%;
    width: 100%;
    margin: -30px -3% 30px
  }
  .pagetitle h1 {
    padding: 20px 0
  }
}

.pagebody .gallery ul, .pagebody .galleries ul {
  letter-spacing: -.4em
}

.archivetitle h1 {
  clear: both;
  margin: 10px 0 20px;
  padding: 20px;
  font-size: 125%;
  font-weight: 300;
  line-height: 1.5;
  background-color: #fff
}

@media screen and (max-width: 735px) {
  .archivetitle {
    padding: 40px 0 0
  }
}

.columnbox {
  letter-spacing: -0.4em
}

.columnbox .column3 {
  width: 31.33333%;
  margin: 0 0 0 2%
}

body.ee #contents_outer #cattitle_outer #cattitle h1 {
  color: #a34393
}

body.ii #contents_outer #cattitle_outer #cattitle h1 {
  color: #2062af
}

body:not(.en) #contents_outer.admission {
  background: url();
  background-image: url(../images/cat_admission.jpg);
  background-size: auto 240px;
  background-repeat: no-repeat;
  background-position: center top
}

body.me #contents_outer #cattitle_outer #cattitle h1 {
  color: #12a790
}

body.lb #contents_outer #cattitle_outer #cattitle h1 {
  color: #63b72f
}

body.ac #contents_outer #cattitle_outer #cattitle h1 {
  color: #e3b116
}

body.admission .pagetitle, body.career .pagetitle {
  background: none
}

#contents_outer #cattitle_outer {
  height: 240px
}

#contents_outer #cattitle_outer.course {
  background: url();
  background-image: url(../images/cat_course.jpg);
  background-size: auto 240px;
  background-repeat: no-repeat;
  background-position: center top
}

#contents_outer #cattitle_outer.research {
  background: url();
  background-image: url(../images/cat_research.gif);
  background-size: auto 240px;
  background-repeat: no-repeat;
  background-position: center top
}

#contents_outer #cattitle_outer.career {
  background: url();
  background-image: url(../images/cat_career.jpg);
  background-size: auto 240px;
  background-repeat: no-repeat;
  background-position: center top
}

#contents_outer #cattitle_outer.admission {
  background: url();
  background-image: url(../images/cat_admission.jpg);
  background-size: auto 240px;
  background-repeat: no-repeat;
  background-position: center top
}

#contents_outer #cattitle_outer #cattitle {
  width: 1200px;
  margin: 0 auto
}

#contents_outer #cattitle_outer #cattitle h1 {
  position: relative;
  width: 299px;
  height: 240px;
  display: block;
  text-align: center;
  background-color: #efefef;
  opacity: .9
}

#contents_outer #cattitle_outer #cattitle h1>span {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100%;
  height: 67px;
  margin: auto;
  display: block
}

#contents_outer #cattitle_outer #cattitle h1>span .catname_ja {
  margin: 0 0 12px;
  font-size: 220%;
  font-weight: 300;
  line-height: 1.2;
  letter-spacing: -.07em;
  display: block
}

#contents_outer #cattitle_outer #cattitle h1>span .catname_en {
  font-family: "Noto Sans", sans-serif;
  font-size: 81.25%
}

#contents_outer #contents {
  padding: 0 20px
}

body:not(.en) #contents_outer.course {
  background-image: url(../images/cat_course.jpg);
  background-size: auto 240px;
  background-repeat: no-repeat;
  background-position: center top
}

body:not(.en) #contents_outer.research {
  background-image: url(../images/cat_research.gif);
  background-size: auto 240px;
  background-repeat: no-repeat;
  background-position: center top
}

body:not(.en) #contents_outer.career {
  background-image: url(../images/cat_career.jpg);
  background-size: auto 240px;
  background-repeat: no-repeat;
  background-position: center top
}

@media screen and (max-width: 735px) {
  body:not(.en) #contents_outer {
    background-size: auto 100px !important
  }
  #contents_outer #cattitle_outer {
    display: none
  }
  #contents_outer #contents {
    padding: 0
  }
}

body.ee #aside h2 a {
  background: #a34393
}

body.ee #aside ul li a.current {
  background-color: #f9eaff
}

body.ii #aside h2 a {
  background: #2062af
}

body.ii #aside ul li a.current {
  background-color: #c6ddf0
}

body.me #aside h2 a {
  background: #12a790
}

body.me #aside ul li a.current {
  background-color: #c6f0e6
}

body.lb #aside h2 a {
  background: #63b72f
}

body.lb #aside ul li a.current {
  background-color: #dcf0c6
}

body.ac #aside h2 a {
  background: #e3b116
}

body.ac #aside ul li a.current {
  background-color: #f0e7c6
}

#aside h2 a {
  height: 95px
}

@media screen and (max-width: 735px) {
  #aside h2 a {
    height: 55px !important
  }
}
