@charset "UTF-8";

/*---------------------------------
  RESET
---------------------------------*/
a,article,body,dd,div,dl,dt,em,form,footer,header,h1,h2,h3,h4,h5,h6,html,i,iframe,img,label,legend,li,nav,ol,p,section,main,span,table,tbody,tfoot,thead,time,tr,th,td,ul,video,address,picture,source{word-break:break-all;font-family:inherit;font-size:100%;font-weight:inherit;font-style:inherit;vertical-align:baseline;white-space:normal;margin:0;padding:0;border:0;outline:0;background:transparent;line-height:1.8;text-align:left}textarea{font-family:inherit;font-size:100%;font-weight:inherit;font-style:inherit;vertical-align:baseline;margin:0;padding:0;border:0;outline:0;background:transparent;line-height:1.8;text-align:left}article,footer,header,nav,section,main{display:block}ol,ul{list-style:none}table{border-collapse:collapse;border-spacing:0}


/*---------------------------------
  BASIC
---------------------------------*/
html {
  overflow-y: scroll;
}
body {
  margin: 0;
  padding: 0;
  line-height: 1.6;
  letter-spacing: 1px;
  font-family: "Hiragino Kaku Gothic Pro",HiraKakuPro-W3,"ヒラギノ角ゴ Pro W3","メイリオ", Meiryo,"ＭＳ Ｐゴシック",verdana,sans-serif;
  font-size: 12px;
  color: #000;
  background: #efefef;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0.80, #fff), color-stop(0.00, #efefef));
  background: -webkit-linear-gradient(top, #efefef 0%, #fff 80%);
  background: -moz-linear-gradient(top, #efefef 0%, #fff 80%);
  background: -o-linear-gradient(top, #efefef 0%, #fff 80%);
  background: -ms-linear-gradient(top, #efefef 0%, #fff 80%);
  background: linear-gradient(to bottom, #efefef 0%, #fff 80%);
  /* ▼ テキストの両端を揃える */
  text-align: justify;
  text-justify: inter-ideograph; /* IE */
}
br {
  letter-spacing: normal;
}
a {
  color: #134D99;
  text-decoration: none;
}
a:hover {
  color: #134D99;
  text-decoration: underline;
  opacity: 0.8;
}
img {
  max-width: 100%;
  border: 0;
  vertical-align: bottom;
}
li {
  padding: 0;
}
.disc li:before {
  content: "●";
  font-size: 85%;
  color: #9a071b;
  vertical-align: middle;
  margin-right: .5em;
}
.num {
  counter-reset: number;
}
.num li {
  position: relative;
  padding-left: 30px;
}
.num li:before {
  display: inline-block;
  counter-increment: number 1;
  content: counter(number) ".";
  position: absolute;
  left: 0;
}
.li_head_none li {
  text-indent: unset !important;
  padding-left: unset !important;
}
dt {
  margin: 0;
  padding: 0;
}
dt b:before {
  content: "◆";
  font-size: 150%;
  color: #9a071b;
  vertical-align: middle;
}
.gray_box dt {
  padding: 5px 10px 0;
  background: #f1f1f1;
}
dd {
  background: #f1f1f1;
}
.gray_box dd {
  margin-left: 0;
  margin-bottom: 1rem;
  padding: 0 10px 10px;
}
.mb40 {
  margin-bottom: 40px;
}
.mb30 {
  margin-bottom: 30px;
}
.mb20 {
  margin-bottom: 20px;
}
.mb10 {
  margin-bottom: 10px;
}
.font-bold {
  font-weight: 700;
}
@media only screen and ( max-width : 991px ) {
  p {
    margin: 10px 0;
  }
  ul,ol,dl {
    margin: 10px 0;
    padding: 0;
  }
  .disc,.num {
    margin-left: 20px;
  }
  .disc li {
    text-indent: -1.5em;
    padding-left: 1.5em;
  }
  .num li {
    text-indent: calc(-1.8em + 20px);
    padding-left: calc(1.8em + 20px);
  }
  .li_head_none_sp li {
    text-indent: unset;
    padding-left: unset;
  }
  .gray_box dd {
    margin-bottom: 1rem;
  }
  .mb40_sp {
    margin-bottom: 40px;
  }
  .mb30_sp {
    margin-bottom: 30px;
  }
  .mb20_sp {
    margin-bottom: 20px;
  }
  .mb10_sp {
    margin-bottom: 10px;
  }
  .pc {
    display: none;
  }
  .tablet {
    display: block !important;
  }
  .sp {
    display: none;
  }
}
@media only screen and ( max-width : 787px ) {
  .tablet {
    display: none;
  }
  .sp {
    display: block;
  }
}
@media print, screen and ( min-width : 992px ) {
  p {
    margin: 10px;
  }
  ul,ol,dl {
    margin: 10px;
    padding: 0;
  }
  li {
    margin: 0 0 0 30px;
  }
  #Publications .num {
    margin-left: 20px;
  }
  #Publications .num p {
    margin: 0;
  }
  .li_head li {
    text-indent:-1em;
    padding-left:1em;
  }
  .disc li {
    margin: 0 0 0 10px;
    text-indent: -1.4em;
    padding-left: 1.4em;
  }
  .num {
    margin-left: 30px;
  }
  .num li:before {
    margin-right: .5em;
  }
  .li_head_none_sp li {
    text-indent: unset;
    padding-left: unset;
  }
  dd {
    margin: 0 0 0.5em 1em;
    padding: 0;
  }
  .mb40_pc {
    margin-bottom: 40px;
  }
  .mb30_pc {
    margin-bottom: 30px;
  }
  .mb20_pc {
    margin-bottom: 20px;
  }
  .mb10_pc {
    margin-bottom: 10px;
  }
  .sp_tablet {
    display: none;
  }
  .tablet {
    display: none;
  }
  .sp {
    display: none;
  }
}

/*---------------------------------
  HEADER CUSTOMIZE
---------------------------------*/
#header h1 {
  margin: 0;
  color: #770000;
  line-height: 1.0;
  z-index: 99;
}
#header h1 a {
  color: #770000;
}
#header h1 a:hover {
  color: #770000;
}
@media only screen and ( max-width : 991px ) {
  #header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    background: #fff;
    z-index: 90;
  }
  #header h1 {
    position: fixed;
    top: 18px;
    left: 15px;
  }
  #header h1 a {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-align: center;
    align-items: center;
  }
  #logo {
    max-width: 30px;
  }
  #logo_txt {
    max-width: 300px;
    margin-top: 5px;
  }
}
@media only screen and ( max-width : 480px ) {
  #logo_txt {
    max-width: 200px;
  }
}
@media only screen and ( max-width : 320px ) {
  #header h1 {
    top: 14px;
    left: 20px;
  }
  #logo {
    max-width: 50px;
  }
  #logo_txt {
    display: none;
  }
}
@media print, screen and ( min-width : 992px ) {
  #header {
    position: relative;
    width: 940px;
    margin-bottom: 20px;
  }
  #header h1 {
    padding: 20px 0 0 0;
    font-size: 30px;
    position: relative;
    max-width: 465px;
  }
  #header h1 a:hover {
    border-bottom: none;
    text-decoration: none;
  }
}


/*---------------------------------
  MENU CUSTOMIZE
---------------------------------*/
@media only screen and ( max-width : 991px ) {
  /* SP版メニューの記述は「meanmenu.css」に記載 */
}
@media print, screen and ( min-width : 992px ) {
  #menu {
    position: absolute;
    right: 0;
    top: 30px;
    max-width: 450px;
  }
  #menu ul {
    margin: 0;
    padding: 0;
    list-style: none;
  }
  #menu li {
    overflow: hidden;
    float: left;
    margin: 0;
    padding: 0 0 0 30px;
  }
  #menu li a {
    display: block;
    font-weight: bold;
    color: #000;
    outline: none;
  }
  #menu li a:hover {
    color: #000;
    border-bottom: 3px solid #770000;
    text-decoration: none;
  }
  .sub-menu {
    display: none;
  }
}


/*---------------------------------
  FOOTER CUSTOMIZE
---------------------------------*/
#footMenu ul {
  border-top: 1px solid #ddd;
}
#footMenu li {
  list-style: none;
}
#footMenu li a {
  color: #000;
}
#footMenu li a:hover {
  color: #666;
  text-decoration: underline;
}
.copyright {
  font-style: normal;
  color: #999;
}
@media only screen and ( max-width : 991px ) {
  #footMenu ul {
    margin: 0;
  }
  #footMenu li {
    margin: 0;
    padding: 10px 15px;
    border-bottom: 1px solid #ddd;
    background: #eee;
  }
  #footMenu li a {
    display: block;
  }
  #footMenu li a:before {
    content: url("../images/bg_arrow.gif");
    margin-right: 5px;
    vertical-align: middle;
  }
  .copyright {
    margin: 20px 15px 50px;
    font-size: 10px;
  }
}
@media only screen and ( max-width : 768px ) {
}
@media only screen and ( max-width : 320px ) {
}
@media print, screen and ( min-width : 992px ) {
  #footMenu ul {
    margin: 5px 0;
    padding: 20px 0;
    text-align: center;
  }
  #footMenu li {
    display: inline;
    margin: 0 0 0 20px;
  }
  #footMenu {
    float: left;
    width: 940px;
    margin-top: 10px;
  }
  #footer {
    clear: both;
    width: 940px;
  }
  .copyright {
    font-size: 11px;
    line-height: 3.0;
    text-align: center;
  }
}


/*---------------------------------
  PAGRTOP CUSTOMIZE
---------------------------------*/
#pageTop {
  position: fixed;
  right: 0;
  bottom: 0;
  padding: 10px;
  background: #000;
  z-index: 90;
}
#pageTop a {
  padding: 0 0 0 12px;
  color: #fff;
  font-size: 11px;
  background: #000 url("../images/bg_pagetop.gif") 0 50% no-repeat;
}
@media only screen and ( max-width : 991px ) {
}
@media only screen and ( max-width : 768px ) {
}
@media only screen and ( max-width : 320px ) {
}
@media print, screen and ( min-width : 992px ) {
}
