html {
  overflow-y: scroll; }

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, textarea, p, blockquote, th, td {
  margin: 0;
  padding: 0; }

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

fieldset, img {
  border: 0; }

img {
  vertical-align: bottom; }

address, caption, cite, code, dfn, em, strong, th, var {
  font-style: normal;
  font-weight: normal; }

li {
  list-style: none; }

caption, th {
  text-align: left; }

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal; }

q:before, q:after {
  content: ''; }

abbr, acronym {
  border: 0;
  font-variant: normal; }

input, textarea, select {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit; }

/*to enable resizing for IE*/
input, textarea, select {
  *font-size: 100%; }

/*because legend doesn't inherit in IE */
legend {
  color: #000; }

del, ins {
  text-decoration: none; }

.flex {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap; }

.localNav ul li {
  width: 24%; }
  @media screen and (max-width: 480px) {
    .localNav ul li {
      width: 100%; } }

#contents .section {
  margin-top: 80px; }
  #contents .section .title {
    font-size: 20px;
    border-left: #004f7c 5px solid;
    padding-left: 20px;
    margin-bottom: 30px; }
  #contents .section table {
    width: 100%;
    border-bottom: #d9d9d9 1px solid; }
    #contents .section table th, #contents .section table td {
      border-top: #d9d9d9 1px solid;
      font-size: 14px;
      padding: 16px 40px;
      vertical-align: top;
      line-height: 1.8;
      box-sizing: border-box; }
    #contents .section table th {
      text-align: center;
      color: #004f7c;
      text-align-last: justify;
      text-justify: inter-ideograph; }
  #contents .section .googlemap {
    display: inline-block;
    font-size: 13px;
    margin: 6px 0;
    text-align: center; }
    #contents .section .googlemap a {
      background-color: #004f7c;
      border-radius: 30px;
      color: #fff;
      display: block;
      text-decoration: none;
      padding: 4px 32px;
      transition: .4s; }
      #contents .section .googlemap a:hover {
        background-color: #fff;
        color: #004f7c; }

#information {
  margin-top: 60px; }
  #information table th {
    min-width: 100px; }

#history table th {
  max-width: 160px; }

.grafList {
  background-color: #f5f5f5;
  display: flex;
  justify-content: space-between;
  padding: 35px 4% 25px; }
  .grafList .graf01 {
    /*width: 45.65%;*/
    width: 45.653%; }
  .grafList .graf02 {
    width: 47.82%; }
  .grafList img {
    width: 100%;
    height: auto; }

@media screen and (max-width: 768px) {
  #contents .section {
    margin-top: 60px; }
    #contents .section table th {
      width: 200px; }

  #information {
    margin-top: 40px; }
    #information table th {
      min-width: auto; }

  #history table th {
    max-width: auto; } }
@media screen and (max-width: 480px) {
  #contents .section {
    margin-top: 40px; }
    #contents .section table th, #contents .section table td {
      display: block;
      width: 100%;
      padding: 15px 20px; }
    #contents .section table th {
      text-align-last: inherit;
      text-justify: inherit;
      text-align: left;
      padding-bottom: 0; }
    #contents .section table td {
      padding-top: 0;
      border-top: 0; }
    #contents .section .googlemap {
      display: block; }

  #information {
    margin-top: 30px; }
    #information tr:nth-last-child(-n+2) td br {
      display: none; }

  #history table th {
    max-width: 100%; }

  .grafList {
    display: inherit;
    padding: 25px 25px 20px; }
    .grafList .graf01,
    .grafList .graf02 {
      width: 100%; }
    .grafList .graf02 {
      margin-top: 20px; } }
#information.section,
#history.section,
#performance.section,
#contributions.section {
  margin-top: -80px;
  padding-top: 160px; }
@media screen and (max-width: 768px) {
  #information.section,
  #history.section,
  #performance.section,
  #contributions.section {
    margin-top: -40px;
    padding-top: 100px; } }
@media screen and (max-width: 480px) {
  #information.section,
  #history.section,
  #performance.section,
  #contributions.section {
    margin-top: -40px;
    padding-top: 80px; } }

#performance .column {
  margin-top: 30px;
  padding: 20px 30px 20px;
  background: #e2edf3; }
  #performance .column h4 {
    font-size: 20px;
    font-weight: bold;
    color: #4c829a; }
  #performance .column .flex {
    margin-top: 20px; }
    #performance .column .flex .img {
      width: 44.6808510638%; }
      #performance .column .flex .img img {
        max-width: 100%;
        height: auto; }
    #performance .column .flex .txt {
      width: 52.1276595745%;
      line-height: 2; }
    @media screen and (max-width: 768px) {
      #performance .column .flex .img {
        width: 100%;
        text-align: center; }
      #performance .column .flex .txt {
        width: 100%;
        margin-top: 20px; } }
#performance .kensho_list {
  margin-top: 30px;
  font-size: 20px;
  color: #4c829a; }
#performance .list {
  border-bottom: #d9d9d9 1px solid;
  width: 50%;
  margin-top: 30px; }
  @media screen and (max-width: 768px) {
    #performance .list {
      width: 100%; }
      #performance .list .dummy {
        display: none; }
      #performance .list:first-child {
        border: 0; }
      #performance .list:last-child {
        margin-top: 0; } }
  #performance .list li {
    border-top: #d9d9d9 1px solid;
    padding: 16px 40px;
    font-size: 14px; }
    #performance .list li a {
      color: inherit;
      text-decoration: none; }
#performance .note {
  margin-top: 2em;
  text-align: right; }

#contributions .lede {
  font-size: 20px;
  color: #4c829a;
  font-weight: bold; }
#contributions .flex {
  margin-top: 20px; }
  #contributions .flex .img {
    width: 36%; }
    #contributions .flex .img img {
      max-width: 100%;
      height: auto; }
  #contributions .flex .right_txt {
    width: 61%; }
    #contributions .flex .right_txt .txt {
      font-size: 15.5px; }
      #contributions .flex .right_txt .txt .sp {
        display: none; }
    #contributions .flex .right_txt .column {
      font-size: 14px;
      margin-top: 20px;
      padding: 20px 30px;
      border: 2px solid #4c829a; }
  @media screen and (max-width: 768px) {
    #contributions .flex .img {
      display: none; }
    #contributions .flex .right_txt {
      width: 100%; }
      #contributions .flex .right_txt .txt {
        overflow: hidden; }
        #contributions .flex .right_txt .txt .sp {
          display: inline;
          float: left;
          width: 40%;
          height: auto;
          margin-right: 20px;
          margin-bottom: 10px; } }
