body {
  font-family: 'ヒラギノ明朝 Pro W3', 'Hiragino Mincho Pro', '游明朝','Yu Mincho', '游明朝体', 'YuMincho','ＭＳ Ｐ明朝', 'MS PMincho', serif;
}

header {
  width: 80%;
}

.main-container {
  margin-bottom: 40px;
}

.carousel img {
  width: 100%;
}

.slideshow-item {
  width: 100%;
  margin-left: 0;
}

.slideshow-item .col-md-12,
.slideshow-item .col-md-6 {
  padding-left: 0;
  padding-right: 0;
}

.link-button {
  display: block;
  width: 300px;
  margin: 36px auto;
  height: 36px;
  line-height: 36px;
  font-size: 12px;
  text-align: center;
  background-color: #0F3A7E;
  color: white;
  cursor: pointer;
}

.link-button:hover {
  color: white;
  text-decoration: none;
}

.taxonomy-title {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 5px;
  text-align: center;
}

.text-box {
  width: 100%;
  margin: 48px 0;
}
.text-box .text-wrapper {
  width: 100%;
  text-align: center;
  font-size: 12px;
}

.left-image-box {
  display: flex;
  flex-direction: row-reverse;
  width: 100%;
  margin: 48px 0;
}
.left-image-box .image-wrapper {
  width: 100%;
  max-width: 350px;
}
.left-image-box .image-wrapper img {
  width: 100%;
  height: 100%;
}
.left-image-box .image-wrapper figcaption {
  font-size: 8px;
  margin-top: 8px;
}
.left-image-box .text-wrapper {
  margin-left: 24px;
}
.left-image-box .text-wrapper p {
  margin-bottom: 48px;
  line-height: 2.5;
}
.left-image-box .text-wrapper p:last-child {
  margin-bottom: 24px;
}

.image-description-list {
  display: flex;
  width: 100%;
  gap: 1px;
  margin: 48px 0;
}
.image-description-list-major {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  gap: 1px;
  margin: 48px 0;
}

.image-description {
  flex: 1 1 100px;
}
.image-description-list-major .image-description {
  flex: 0 0 24%;
}
.image-description .image-wrapper img {
  width: 100%;
  height: 100%;
}
.image-description .image-wrapper figcaption {
  font-size: 12px;
  margin: 8px 0;
  text-align: center;
}
.image-description .text-wrapper p {
  font-size: 12px;
  padding: 0 12px;
}
.image-description-list-major .image-description .text-wrapper p {
  font-size: 8px;
  padding: 8px;
}

@media screen and (max-width: 768px) {
  .navbar-header {
    height: 82px;
  }

  .left-image-box {
    display: block;
  }
  .left-image-box .text-wrapper {
    margin: 0 16px;
  }
  .left-image-box .text-wrapper p {
    margin-bottom: 24px;
    line-height: 2;
  }
  .left-image-box .image-wrapper {
    max-width: none;
  }
  .left-image-box .image-wrapper figcaption {
    text-align: center;
  }
  .image-description-list {
    display: block;
  }
  .image-description .image-wrapper figcaption {
    font-size: 12px;
    margin: 4px 0 4px 0;
    text-align: center;
  }
  .image-description-list .image-description .text-wrapper p {
    font-size: 8px;
    padding: 0 16px 32px 16px;
  }
}
