@charset 'utf-8';
/* definitions */
.shadow {
  -webkit-box-shadow: 0px 0px 5px 1px #ccc;
  /* Safari,Google Chrome */

  -moz-box-shadow: 0px 0px 5px 1px #ccc;
  /* Firefox */

  box-shadow: 0px 0px 5px 1px #ccc;
  /* CSS3, Firefox */

}
.radius10 {
  border-radius: 10px;
  /* CSS3草案 */

  -webkit-border-radius: 10px;
  /* Safari,Google Chrome用 */

  -moz-border-radius: 10px;
  /* Firefox用 */
}
/* import column style */
.safari article {
  margin-right: -20px !important;
}
/******************************************************************************/
/* layout                                                                     */
/******************************************************************************/
@media all {
  /* double column solid layout */
  header.column {
    position: relative;
    margin: 20px auto;
    padding: 0;
    width: 920px;
    height: 150px;
    background: url(../images/visual.main.jpg) top center norepeat;
  }
  footer.column {
    clear: both;
    box-sizing: border-box;
    margin: 20px auto;
    padding: 20px 20px;
    width: 920px;
    height: 100px;
  }
  #container.column {
    overflow: hidden;
    margin: -20px auto;
    padding: 0 20px;
    width: 920px;
  }
  .column #visual-main {
    position: absolute;
    top: 0;
    left: 0;
  }
  nav.column {
    float: left;
    box-sizing: border-box;
    margin: 20px 20px 20px 0;
    padding: 20px 20px;
    width: 200px;
  }
  aside.column {
    margin: 20px 0;
    padding: 20px 20px;
  }
  article.column {
    display: block;
    overflow: hidden;
    margin: 20px 0 20px 20px;
    padding: 20px 20px;
  }
}
/******************************************************************************/
/* decoration                                                                 */
/******************************************************************************/
/* styles */
* {
  margin: 0;
  padding: 0;
  border: 0;
  list-style: none;
}
a {
  text-decoration: none;
  color: #1b2a85;
}
a:hover {
  text-decoration: underline;
  color: #911d22;
}
html:lang(ja) body {
  font-size: 95%;
}
html:lang(ja) body nav {
  /*font-family			: "ヒラギノ明朝 Pro W3", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;	*/

}
html:lang(ja) body article.column section > h2 {
  letter-spacing: 2px;
  font-weight: normal;
  font-style: normal;
  /*font-family			: "ヒラギノ明朝 Pro W3", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;	*/

}
html:lang(en) body {
  font-size: 100%;
}
html:lang(en) body nav {
  /*font-family			: 'Hiragino Mincho ProN', serif;	*/

}
html:lang(en) body article.column section > h2 {
  letter-spacing: 0px;
  font-weight: bold;
  /*font-family			: 'Hiragino Mincho ProN', serif;	*/

}
@media all {
  /* double column solid layout */
  body {
    background: #ffffff;
    color: #333333;
  }
  body a.PAGETOP {
    display: block;
    clear: both;
    float: right;
    margin: 1em 0 0 auto;
    padding: 3px 3px 3px 20px;
    text-decoration: none;
    font-size: 1.0em;
    background: url(../images/visual.parts.gototop.gif) left center no-repeat;
  }
  body a.PAGETOP:hover {
    text-decoration: none;
    color: #911d22;
    background: url(../images/visual.parts.gototop_ov.gif) left center no-repeat;
  }
}
header.column {
  -webkit-box-shadow: 0px 0px 5px 1px #ccc;
  /* Safari,Google Chrome */

  -moz-box-shadow: 0px 0px 5px 1px #ccc;
  /* Firefox */

  box-shadow: 0px 0px 5px 1px #ccc;
  /* CSS3, Firefox */

}
footer.column {
  -webkit-box-shadow: 0px 0px 5px 1px #ccc;
  /* Safari,Google Chrome */

  -moz-box-shadow: 0px 0px 5px 1px #ccc;
  /* Firefox */

  box-shadow: 0px 0px 5px 1px #ccc;
  /* CSS3, Firefox */

}
nav.column {
  -webkit-box-shadow: 0px 0px 5px 1px #ccc;
  /* Safari,Google Chrome */

  -moz-box-shadow: 0px 0px 5px 1px #ccc;
  /* Firefox */

  box-shadow: 0px 0px 5px 1px #ccc;
  /* CSS3, Firefox */

}
nav.column ul.global {
  list-style: none;
  margin: 20px 0 1em;
}
nav.column ul.global li {
  margin: 5px 0;
  padding: 5px 0;
  line-height: 1.5em;
  text-align: center;
}
nav.column ul.global li:first-child {
  margin-top: 0px;
}
nav.column ul.global li a {
  display: block;
  box-sizing: border-box;
  padding: 11px 1px;
  width: 100%;
  height: 100%;
  text-decoration: none;
  letter-spacing: 1px;
  font-size: 1.0em;
  color: #1b2a85;
  -webkit-box-shadow: 0px 0px 5px 1px #ccc;
  /* Safari,Google Chrome */

  -moz-box-shadow: 0px 0px 5px 1px #ccc;
  /* Firefox */

  box-shadow: 0px 0px 5px 1px #ccc;
  /* CSS3, Firefox */

}
body.index nav.column ul.global li a.index,
body.research nav.column ul.global li a.research,
body.publications nav.column ul.global li a.publications,
body.activities nav.column ul.global li a.activities,
body.members nav.column ul.global li a.members,
body.recruitment nav.column ul.global li a.recruitment,
body.contact nav.column ul.global li a.contact {
  background: #9A071B;
  color: #ffffff;
}
nav.column ul.global li a:hover {
  background: #d9d9d9;
}
nav.column ul.nav_lang {
  margin: 20px auto 50px;
}
nav.column ul.nav_lang li {
  text-align: center;
}
nav.column ul.nav_lang li img {
  margin: 0;
}
aside.column {
  -webkit-box-shadow: 0px 0px 5px 1px #ccc;
  /* Safari,Google Chrome */

  -moz-box-shadow: 0px 0px 5px 1px #ccc;
  /* Firefox */

  box-shadow: 0px 0px 5px 1px #ccc;
  /* CSS3, Firefox */

}
aside.column img {
  margin: 0 -10% 20px;
  width: 120%;
  height: auto;
}
aside.column p {
  margin: 0 -10%;
  line-height: 1.3em;
  font-size: 0.68em;
  font-style: normal;
  font-weight: normal;
  color: #666666;
}
article.column {
  -webkit-box-shadow: 0px 0px 5px 1px #ccc;
  /* Safari,Google Chrome */

  -moz-box-shadow: 0px 0px 5px 1px #ccc;
  /* Firefox */

  box-shadow: 0px 0px 5px 1px #ccc;
  /* CSS3, Firefox */

}
article.column section {
  margin-bottom: 100px;
}
article.column section hgroup {
  clear: both;
  margin: 100px 0 1em;
  width: 100%;
}
article.column section hgroup h2 {
  padding: 5px;
  border-bottom: 1px solid #9A071B;
  line-height: 1.5em;
  font-size: 1.5em;
  font-weight: bold;
  color: #ffffff;
}
article.column section hgroup h3 {
  padding-top: 5px;
  text-align: right;
  font-size: 1.0em;
  font-weight: normal;
  color: #333333;
}
article.column section > h2 {
  clear: both;
  margin: 25px 0 2em;
  padding: 5px 10px;
  line-height: 1.0em;
  font-size: 1.5em;
  color: #ffffff;
  background: #9A071B;
}
article.column section > h3 {
  clear: both;
  margin: 50px 0 1em;
  font-size: 1em;
  font-weight: bold;
  color: #333333;
}
article.column section > h4 {
  clear: both;
  margin: 1em 0;
  font-size: 0.9em;
  font-weight: bold;
  color: #333333;
}
article.column section p {
  margin-bottom: 1.75em;
  line-height: 1.75em;
  font-size: 0.9em;
}
article.column section p b {
  font-weight: normal;
  color: #911d22;
}
article.column section table.news {
  border-collapse: collapse;
  margin: 2em 0;
  border-bottom: 1px dashed #ffffff;
  width: 100%;
  font-size: 0.8em;
}
article.column section table.news tr {
  border: 0;
  line-height: 1.5em;
  text-align: left;
  vertical-align: top;
}
article.column section table.news th {
  padding: 5px 0;
  border-top: 1px dashed #ffffff;
  width: 120px;
  font-weight: bold;
}
article.column section table.news td {
  padding: 5px 0;
  border-top: 1px dashed #ffffff;
  font-weight: normal;
}
article.column section figure.large {
  padding: 50px 0;
  width: 100%;
  height: auto;
}
article.column section figure.large img {
  margin: 0 10%;
  padding: 0;
  width: 80%;
  height: auto;
}
article.column section figure.large_home img {
  margin: 0 10% -50px 10%;
  padding: 0;
  width: 70%;
  height: auto;
}
article.column section figure.large figcaption {
  margin: 1em 10%;
  padding: 0;
  line-height: 1.5em;
}
article.column section figure.large_flex {
	display:flex;
  padding: 50px 0;
  width: 100%;
  height: auto;
}
article.column section figure.large_flex img{
  margin: 0 3px;
  padding: 0;
  width: 50%;
  height: 50%;
}
.publications article nav ul,
.activities article nav ul {
  clear: both;
  overflow: hidden;
  margin: 0;
  padding: 20px 0 50px;
}
.publications article nav ul li,
.activities article nav ul li {
  display: block;
  padding: 1%;
  width: 23%;
  height: 50px;
  float: left;
  list-style: none;
}
.publications article nav ul li a,
.activities article nav ul li a {
  display: table-cell;
  padding: 10px 2%;
  width: 155px;
  height: 30px;
  text-align: center;
  vertical-align: middle;
  line-height: 15px;
  font-size: 90%;
  border: solid 2px #ffffff;
  border-radius: 5px;
  /* CSS3草案 */

  -webkit-border-radius: 5px;
  /* Safari,Google Chrome用 */

  -moz-border-radius: 5px;
  /* Firefox用 */
  -webkit-box-shadow: 0px 0px 5px 1px #ccc;
  /* Safari,Google Chrome */

  -moz-box-shadow: 0px 0px 5px 1px #ccc;
  /* Firefox */

  box-shadow: 0px 0px 5px 1px #ccc;
  /* CSS3, Firefox */

  background: #ffffff;
}
.publications article nav ul li a:hover,
.activities article nav ul li a:hover {
  text-decoration: none;
  color: #fff;
  border: solid 2px #ffffff;
  border-radius: 5px;
  /* CSS3草案 */

  -webkit-border-radius: 5px;
  /* Safari,Google Chrome用 */

  -moz-border-radius: 5px;
  /* Firefox用 */
  -webkit-box-shadow: 0px 0px 5px 1px #ccc;
  /* Safari,Google Chrome */

  -moz-box-shadow: 0px 0px 5px 1px #ccc;
  /* Firefox */

  box-shadow: 0px 0px 5px 1px #ccc;
  /* CSS3, Firefox */

  background: #9A071B;
}
.publications article section ol,
.activities article section ol,
.publications article section ul,
.activities article section ul {
  margin: 0;
  padding: 0 0 3em 2em;
  font-size: 0.95em;
}
.publications article section ol li,
.activities article section ol li,
.publications article section ul li,
.activities article section ul li {
  margin: 0;
  padding: 0.5em 0;
  line-height: 1.5em;
}
.publications article section ol li,
.activities article section ol li {
  list-style: outside decimal;
}
.publications article section ul li,
.activities article section ul li {
  list-style: outside square;
}
.members table.tl,
.contact table.tl {
  border-collapse: collapse;
  margin: 2em 0 100px;
  width: 100%;
  line-height: 2em;
  font-size: 0.95em;
}
.members table.tl tr,
.contact table.tl tr {
  vertical-align: top;
}
.members table.tl th,
.contact table.tl th {
  margin: 0;
  padding: 0 3em 0 0;
  width: 160px;
  text-align: right;
  font-weight: bold;
}
.members table.tl td,
.contact table.tl td {
  margin: 0;
  padding: 0;
  width: auto;
  text-align: left;
}
.members table.tl td p,
.contact table.tl td p {
  margin: 0;
  padding: 0;
  line-height: 2em;
  font-size: 0.95em;
}
.members table.tl td img,
.contact table.tl td img {
  display: block;
  margin: 1em auto 5em;
  width: 75%;
  height: auto;
}
.members table.tl2,
.contact table.tl2 {
  border-collapse: collapse;
  margin: 2em 0 100px;
  width: 100%;
  line-height: 2em;
  font-size: 0.95em;
}
.members table.tl2 tr,
.contact table.tl2 tr {
  vertical-align: top;
}
.members table.tl2 th,
.contact table.tl2 th {
  margin: 0;
  padding: 0 1em 0 0;
  width: 50%;
  text-align: right;
  font-weight: normal;
}
.members table.tl2 td,
.contact table.tl2 td {
  margin: 0;
  padding: 0;
  width: auto;
  text-align: left;
}
.members dl,
.contact dl {
  overflow: hidden;
  margin-bottom: 150px;
  padding-bottom: 3em;
  border-bottom: solid 1px #cccccc;
}
.members dt,
.contact dt {
  overflow: hidden;
  display: block;
  clear: both;
  float: left;
  margin-top: 50px;
  padding: 1em 20px 1em 0;
  border-top: solid 1px #cccccc;
  width: 200px;
  height: auto;
}
.members dd,
.contact dd {
  display: block;
  float: left;
  margin-top: 50px;
  padding: 1em 0;
  width: 440px;
  border-top: solid 1px #cccccc;
}
.members dd img,
.contact dd img {
  width: 100%;
  height: auto;
}
.members dd h3,
.contact dd h3 {
  display: block;
  margin: 0 auto 1em 0;
  font-size: 150%;
  font-weight: normal;
}
.members dd h4,
.contact dd h4 {
  display: block;
  margin: 0 auto 1em 0;
  font-size: 100%;
  font-weight: bold;
}
.members dd p,
.contact dd p {
  margin: 0 0 1em 0;
  line-height: 1.5em;
}
.members dd table,
.contact dd table {
  border-collapse: collapse;
  margin: 1.5em 0 50px;
  width: 100%;
  line-height: 2em;
  font-size: 0.85em;
}
.members dd table th,
.contact dd table th {
  padding-right: 1em;
  width: 50px;
  text-align: left;
  vertical-align: top;
  font-weight: normal;
}
.members dd table td,
.contact dd table td {
  width: auto;
  text-align: left;
  vertical-align: top;
  font-weight: normal;
}
/* import layout styles */
.ja header.column h1 {
  letter-spacing: 1em;
}
header.column {
  position: relative;
}
header.column .logo {
  float: left;
  box-sizing: border-box;
  margin: 1% 0;
  width: 50%;
}
header.column .logo div {
  overflow: hidden;
}
header.column .logo h1 {
  overflow: hidden;
  clear: both;
  float: left;
  display: block;
  width: auto;
  line-height: 1.3em;
  margin-top: 0.1em;
  color: #ffffff;
}
.en header.column .logo h1 {
  font-size: 1.5em;
}
.ja header.column .logo h1 {
  font-size: 2.0em;
}
header.column .logo h2 {
  clear: both;
  float: left;
  display: block;
  width: auto;
  line-height: 1.5em;
  font-size: 0.9em;
  color: #ffffff;
}
header.column .logo h2 img {
  margin-right: 20px;
}
header.column ul.nav_aside {
  float: right;
}
header.column ul.nav_aside li {
  padding: 5px 0;
  float: left;
  list-style: none;
  line-height: 1.0em;
  font-size: 70%;
  color: #1b2a85;
}
header.column ul.nav_lang {
  clear: right;
  float: right;
}
header.column ul.nav_lang li {
  float: left;
  display: block;
  margin-left: 1em;
  list-style: none;
}
header.column ul.nav_lang li img {
  overflow: hidden;
  margin: 0;
  padding-top: 5px;
  width: 50px;
  height: 50px;
  opacity: 1.0;
  border-radius: 10px;
  /* CSS3草案 */

  -webkit-border-radius: 10px;
  /* Safari,Google Chrome用 */

  -moz-border-radius: 10px;
  /* Firefox用 */
}
header.column ul.nav_lang li a img {
  opacity: 0.25;
}
header.column ul.nav_lang li a:hover img {
  margin: -5px 0;
  padding-bottom: 5px;
  opacity: 1.0;
}
footer {
  position: relative;
}
footer small {
  clear: both;
}
footer small.copyright {
  clear: both;
  display: block;
  padding: 25px 0 1px;
  line-height: 1em;
  text-align: center;
  font-size: 0.9em;
  letter-spacing: 0.1px;
  color: #777;
}
footer small.weblius {
  position: absolute;
  right: 5px;
  bottom: 5px;
  clear: both;
  display: block;
  text-align: right;
  line-height: 1em;
  font-size: xx-small;
}
footer small.weblius a {
  color: #ddebff;
}
footer small.weblius a:hover {
  color: #fca;
}
