@charset "utf-8";
/* CSS Document */

body{
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    height: 100vh;
    line-height: 1.4;
    font-family: Arial, sans-serif;
    font-size: 0.9em;
    color:#313131;
}

img{
    outline:none;
    border-style:none;
}

h1 {
    font-size: 180%;
    color: white;
    padding: 8px;
    border-top: solid 1px orange;
    border-bottom: solid 1px orange;
    text-align: center;
}
h2{
    font-size: 160%;
    color: orange;
    padding: 2px 8px;
    border-left: solid 10px orange;
    letter-spacing: 2px;
}
h3{
    font-size: 120%;
    color: orange;
    padding: 2px;
    border-bottom: solid 1px orange;
    letter-spacing: 2px;
    margin: 10px 0 20px 0;
}
h4{
    font-size: 120%;
    color: black;
    background-color: lemonchiffon;
    padding: 1px 10px;
    letter-spacing: 2px;
    margin-bottom: 5px;
  }
h5{
    padding-left: 20px;
    color: chocolate;
}
h6{
    border-bottom: solid 1px #364e96;
}
a{
    color:purple;
    text-decoration: none;
    -webkit-transition: all 0.5s;
    -moz-transition: all 0.5s;
    transition: all 0.5s;
}
a:visited{
    color:meriumblue;
    -webkit-transition: all 0.5s;
    -moz-transition: all 0.5s;
    transition: all 0.5s;
}

table{
    border: 1px #808080 solid;
    *border-collapse: collapse; /* IE7 and lower */
    border-spacing: 0;
    font-size: 90%;
    color: #313131;
}
table th{
    padding: 5px;
    border: #808080 solid;
    border-width: 0 0 1px 1px;
    text-align: center;
    background: #f1f1f1;
}
table td{
    padding: 5px 20px;
    border: #808080 solid;
    border-width: 0 0 1px 1px;
    line-height: 110%;
}
strong{
    color: #ff0000;
}
strong::before{
    content: "\0261c\000a0";
}
b{
    color: #ff0000;
}
.colored{
    background: linear-gradient(#fff, khaki)
}
.shadow{
    font-weight: bold;
    letter-spacing: 2px;
    text-shadow: -3px -3px 1px #cccccc, 4px 4px 1px #999999;
}

/*****HEADER*****/
header{
    display: block;
    background-image: radial-gradient(circle, black, yellow);
}
header p{
  text-align: center;
  color: #404040;
}

/*****BRANDING*****/
#branding{
    display: block;
    width: 90%;
    max-width: 960px;
    margin: 20px auto;
    background: url("../img/plato.png") no-repeat right center;
    background-size: 70% auto, 100% 100%;
}

#branding p{
    width: 40%;
    padding-left: 20px;
    color: #364e96;
    line-height: 200%;
}

/*****NAV*****/
#mainmenu{
    display: block;
    background-color: goldenrod;
    line-height: 200%;
}
#mainmenu ul{
  list-style-type: none;
  text-align: center;
}
#mainmenu li{
    display: inline;
    padding: 0 20px;
    font-size: 120%;
    color: #fff;
}
#mainmenu li+ li{
    border-left: 1px solid #fff;
}
#mainmenu li a{
    color: #fff;
}

/*****BREADCRUMB*****/
.breadcrumb{
  width: 90%;
  max-width: 960px;
  margin: 5px auto;
}
.breadcrumb li{
    display:inline;
    list-style: none;
    font-size: 90%;
}
.breadcrumb li:after{
    content: ' > ';
    color: #555;
}
.breadcrumb li:last-child:after{
    content: '';
}

/*****ARTICLE*****/
article{
    display: block;
    width: 90%;
    max-width: 960px;
    margin: 10px auto;
}
section{
    display: block;
    width: 98%;
    margin-left: auto;
    margin-bottom: 20px;
}
section p{
    color: #313131;
    margin: 10px;
}
section p.center{
    text-align: center;
}
section ul{
  margin: 0 15px 10px 15px;
  padding: 10px 5px 5px 5px;
  list-style-type: disc;
  border: solid 1px #a0a0a0;
  border-radius: 10px;
}
section ul.char-len{
  display: inline-block;
  margin: 0 15px 10px 15px;
  padding: 10px 5px 5px 5px;
  list-style-type: disc;
  border: solid 1px #a0a0a0;
  border-radius: 10px;
}
section ul li{
    color: #303030;
    margin: 0 20px 10px 25px;
}

section ol{
/*  margin: 0 5% 10px 5%;
  padding: 10px 5px 5px 5px;
  list-style: lower-roman; */
  margin-left: 20px;
  list-style-type: none;
  counter-reset: step-counter;
}
section ol li{
    counter-increment: step-counter;
    margin-bottom: 5px;
}
section ol li::before{
  content: counter(step-counter);
  margin-right: 5px;
  font-size: 80%;
  background-color: rgb(200,200,200);
  color: white;
  font-weight: bold;
  padding: 3px 8px;
  border-radius: 3px;
}

.submenu{
  background-color: #465ea6;
  line-height: 150%;
}
.submenu ul{
    list-style-type: none;
    margin: 10px 10px;
}
.submenu li{
    display: inline;
    padding: 0 20px;
    color: #fff;
}
.submenu li+ li{
    border-left: 1px solid #fff;
}
.submenu li a{
    color: #fff;
}
.submenu li a:hover{
    color: aqua;
}

.pagetop{
    margin-right: 20px;
    text-align: right;
}
.pagetop a{
    color: #99ccff;
}

/*****論文リスト用*****/
.zebra{
  width: 100%;
  font-size: 90%;
  line-height: 200%;
}
.zebra tbody tr:nth-child(even){
    background: #f5f5f5;
    -webkit-box-shadow: 0 1px 0 rgba(255,255,255,.8) inset;
    -moz-box-shadow: 0 1px 0 rgba(255,255,255,.8) inset;
    box-shadow: 0 1px 0 rgba(255,255,255,.8) inset;
}

/*****FOOTER*****/
footer{
    display: block;
    margin-top: auto;
    text-align: center;
    padding-top: 10px;
    padding-bottom: 10px;
    background-color: #313131;
}
footer p{
    margin-bottom: 20px;
}
footer address{
    color: #fff;
    letter-spacing: 2px;
}
footer small{
  color: #a0a0a0;
}
