*, *:before, *:after {
  box-sizing: border-box;
}

html, body {
    margin : 0;
    padding : 0;
}

html {
  font-size: 100%;
}

body {
  color: #333;
  font-family: 'Noto Sans JP', "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

code, kbd, pre, samp {
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.57143;
  font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
}

input, textarea, keygen, select, button {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}

input, textarea, optgroup, select, button {
  line-height: 1.5;
}

img {
  height: auto;
  max-width: 100%;
  vertical-align: middle;
}

p, ul, ol, dl, table, pre, blockquote {
  margin: 0 0 1.5rem;
}

figure {
  margin: 0 0 1.5rem;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: bold;
}

h1 {
  font-size: 32px;
  font-size: 2rem;
  line-height: 1.1875;
  margin-top: 0;
  margin-bottom: 1.5rem;
}

h2 {
  font-size: 32px;
  font-size: 2rem;
  line-height: 1.1875;
  margin-top: 3rem;
  margin-bottom: 1.5rem;
}

h3 {
  font-size: 24px;
  font-size: 1.5rem;
  line-height: 1.33333;
  margin-top: 2.25rem;
  margin-bottom: 1.5rem;
}

h4 {
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.4;
  margin-top: 1.875rem;
  margin-bottom: 1.5rem;
}

h5 {
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.5;
  margin-top: 1.5rem;
  margin-bottom: 0.75rem;
}

h6 {
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.5;
  margin-top: 1.5rem;
  margin-bottom: 0.75rem;
}

ol ol, ol ul, ul ol, ul ul {
  margin-bottom: 0;
}

dt {
  font-weight: bold;
}

dd {
  margin-left: 0;
}

blockquote {
  border-left: 0.5rem solid #eeeeee;
  margin-left: 0;
  padding: 1rem 0 1rem 1rem;
}

blockquote :last-child {
  margin-bottom: 0;
}

blockquote footer {
  color: #555555;
  font-size: 80%;
}

code {
  background-color: #f9f2f4;
  border-radius: 3px;
  color: #c7254e;
  padding: 2px 4px;
}

pre {
  background-color: #f2f2f2;
  border: 1px solid #dddddd;
  border-radius: 3px;
  padding: 1rem;
  overflow: auto;
}

pre code {
  background-color: transparent;
  border: none;
  color: #333;
  font-size: 100%;
  padding: 0;
}

label {
  cursor: pointer;
}
table {
  border-collapse: collapse;
  background-color: transparent;
}
th {
  text-align: left;
}
table {
  width: 100%;
  max-width: 100%;
  margin-bottom: 1rem;
  border: 1px solid #cfd8dc;
}
table th,table td {
  border: 1px solid #cfd8dc;
}
table thead th,table thead td {
  border-bottom-width: 2px;
}
table tbody tr:nth-of-type(odd){
  background-color: rgba(0, 0, 0, 0.075);
}

/* Wrappers */
.container-fluid, .container {
  padding-right: 1rem;
  padding-left: 1rem;
}
.container {
    margin-right: auto;
    margin-left: auto;
}
@media (min-width: 40em) {
  .container-fluid, .container {
    padding-right: 1.5rem;
    padding-left: 1.5rem;
  }
}
@media (min-width: 64em) {
  .container {
    max-width: 75rem;
  }
}

.row {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.col {
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  max-width: 100%;
}
/*
Breadcrumbs
*/
.breadcrumbs {
  list-style: none;
  margin: 0;
  padding: 0;
}

.breadcrumbs-item {
  display: inline;
}

.breadcrumbs-item:nth-child(n + 2)::before {
  margin: 0 5px;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "/\00a0";
}


.branding-title {
  margin: 0;
  font-size: 32px;
  font-size: 2rem;
  line-height: 1.1875;
}

.copyright {
  font-size: 12px;
  font-size: 0.75rem;
}
@media (max-width: 39.9375em) {
  .sm-inline {
    display: inline !important;
  }
}
@media (max-width: 39.9375em) {
  .sm-inline-block {
    display: inline-block !important;
  }
}
@media (max-width: 39.9375em) {
  .sm-block {
    display: block !important;
  }
}
@media (max-width: 39.9375em) {
  .sm-flex {
    display: -ms-flexbox !important;
    display: flex !important;
  }
}
@media (min-width: 40em) and (max-width: 63.9375em) {
  .md-inline {
    display: inline !important;
  }
}
@media (min-width: 40em) and (max-width: 63.9375em) {
  .md-inline-block {
    display: inline-block !important;
  }
}
@media (min-width: 40em) and (max-width: 63.9375em) {
  .md-block {
    display: block !important;
  }
}
@media (min-width: 40em) and (max-width: 63.9375em) {
  .md-flex {
    display: -ms-flexbox !important;
    display: flex !important;
  }
}

@media (min-width: 64em) {
  .lg-inline {
    display: inline !important;
  }
}

@media (min-width: 64em) {
  .lg-inline-block {
    display: inline-block !important;
  }
}

@media (min-width: 64em) {
  .lg-block {
    display: block !important;
  }
}
@media (min-width: 64em) {
  .lg-flex {
    display: -ms-flexbox !important;
    display: flex !important;
  }
}

/* サイト固有 */
a {
  color: #337ab7;
}
.site {
  display: -ms-flexbox;
  display: flex;
  min-height: 100vh;
  flex-direction: column;
  background-color: #F5F5F5;
}
.global-header {
    background-color: #EFEBE9;
    position: relative;
    padding-top: 0.5em;
    padding-bottom: 0.5em;
    border-bottom: 1px solid #6D4C41;
}
.branding-title img {
  height: 50px;
}
li {
  margin-bottom: 0.5rem;
}
dt {
  margin-top: 1.5rem;
}
dd {
  margin-top: 1rem;
  margin-left: 1rem;
}
/* base grid*/
.left-col {
  padding: 1em;
  width:230px;
  border-left:1px solid #795548;
}
.contents-col {
  padding: 1em;
  flex: 1;
  background-color: #FAFAFA;
  border-bottom: 1px solid #795548;
  border-left:1px dotted #263238;
  border-right:1px dotted #263238;
  min-width: 0;
}
.right-col {
  padding: 1em;
  width: 300px;
  border-left:1px dotted #263238;
  border-right:1px solid #795548;
  border-bottom: 1px solid #795548;
}
/* navigation */
.nav-list {
  list-style: none;
  padding-left: 0;
}
.nav-item {
  margin: 0 0 0.25rem;
}
.nav-label {
  border-bottom: 1px dotted #90A4AE;
}
.nav-item > a {
  font-size: 0.875rem;
  text-decoration: none;
}

.container-stack {
  display:flex;
  flex-direction: column;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  width: 100%;
}
.grow-row {
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
}
.hero{
  border-radius: 6px;
}
.hero-contents {
  padding: 3em 3em 0em 3em;
}
.visual-title {
  font-size: 2.5em;
  color: #9EBBCF;
}
.latest_headding {
  border-bottom: 2px solid #90A4AE;
}
.mi {
  display: inline-block;
    font: normal normal normal 14px/1 "Material Icons";
    font-size: inherit;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.mi-arrowforward:before {
    content: "\e5c8";
}
.mi-edit:before {
    content: "\e3c9";
}
.mi-category:before {
    content: "\e2c7";
}

.news {
  margin-bottom: 0.875rem;
  border-bottom: 1px dotted #90A4AE;
  
}
.post {
  border-left: 1px solid #6D4C41;
  border-bottom: 1px solid #6D4C41;
  -webkit-border-bottom-left-radius: 25px;
  -moz-border-radius-bottomleft: 25px;
}
.article_header {
  margin-top: 3rem;
  margin-bottom: 1.5rem;
}

.post_title {
  margin-bottom: 0.25rem;
}
.meta {
  font-size: 0.75rem;
  color: #B0BEC5;
  margin-bottom: 0.5rem;
}
.left-dummy {
  border-bottom:  1px solid #795548;
}
.copyright {
  border-bottom:  1px solid #795548;
  border-right:  1px solid #795548;
  border-left:1px dotted #263238;
  padding-top: 0.5em;
  padding-right: 1.5em;
  background-color: #ECEFF1;
  text-align: right;
  -webkit-border-bottom-right-radius: 25px;
  -moz-border-radius-bottomright: 25px;
}
.copyright_article {
  font-size: 12px;
  font-size: 0.75rem;
  padding-top: 0.5em;
  padding-right: 1.5em;
  text-align: right;
}
@media (max-width: 39.9375em) {
  .hidden-sm {
    display: none;
  }
}
@media (min-width: 40em) and (max-width: 63.9375em) {
  .hidden-md {
    display: none;
  }
}
@media (min-width: 64em) {
  .hidden-lg {
    display: none;
  }
}

@media (max-width: 39.9375em) {
  .copyright {
    border-bottom:  none;
    border-right:  none;
  }
}
@media (min-width: 40em) and (max-width: 63.9375em) {
  .copyright {
    border-bottom:  none;
    border-right:  none;
  }
}

/* Table of contents*/
.h_underline1 {
  position: relative;
  border-bottom: 2px solid #ccc;
}
.h_underline1::after {
  position: absolute;
  bottom: -2px;
  left: 0;
  content: '';
  width: 20%;
  border-bottom: 2px solid #777;
}
#main_contents > h2 {
  position: relative;
  border-bottom: 2px dotted #ccc;
}
#main_contents > h2::after {
  position: absolute;
  bottom: -2px;
  left: 0;
  content: '';
  width: 20%;
  border-bottom: 2px solid #777;
}
#main_contents > h3 {
border-left: solid 5px #777;
}

.pagination {
  list-style: none;
  margin: 0;
  padding: 0;
}

.pagination li{
  display: inline;
}
