:root {
  --black: #333;
  --red: #cc0000;
  --light_gray: #F2F2F2;
  --dark_gray: #575757;
}

.block-clo--contents * {
  box-sizing: border-box;
}
.block-clo--contents .block-branding {
  display: flex;
  height: 340px;
  align-items: center;
}
@media screen and (max-width: 1304px) {
  .block-clo--contents .block-branding {
    margin-inline: -15px;
    padding-inline: 15px;
  }
}
@media (max-width: 767px) {
  .block-clo--contents .block-branding {
    height: 280px;
  }
}
@media (max-width: 576px) {
  .block-clo--contents .block-branding {
    height: 200px;
  }
}
.block-clo--contents .block-branding h1 {
  width: 100%;
  max-width: 1275px;
  margin-inline: auto;
  color: #fff;
  font-size: 240%;
  font-weight: bold;
  text-shadow: 2px 2px 2px rgba(0, 0, 0, 0.5), 2px 2px 2px rgba(0, 0, 0, 0.5), 2px 2px 2px rgba(0, 0, 0, 0.5), 2px 2px 2px rgba(0, 0, 0, 0.5), 0px 0px 2px rgba(0, 0, 0, 0.75), 0px 0px 2px rgba(0, 0, 0, 0.75);
}
@media (max-width: 767px) {
  .block-clo--contents .block-branding h1 {
    font-size: 200%;
  }
}
@media (max-width: 576px) {
  .block-clo--contents .block-branding h1 {
    font-size: 160%;
  }
}
.block-clo--contents .GridSet .heading {
  word-break: break-all;
}
.block-clo--contents .GridSet strong {
  font-weight: bold;
}
.block-clo--contents .GridSet .text-red {
  color: var(--red);
}
.block-clo--contents .block-headline--h3 {
  position: relative;
  margin: 0;
  padding: 0;
  margin-block: 40px 20px;
  padding-left: 15px;
  color: var(--black);
  font-size: 125%;
  font-weight: bold;
  background: none;
}
.block-clo--contents .block-headline--h3:before {
  content: "";
  position: absolute;
  width: 5px;
  height: 24px;
  top: 0;
  left: 0;
  background: var(--red);
}
.block-clo--contents .block-links {
  max-width: 1000px;
  margin-top: 60px;
  margin-inline: auto;
  padding: 30px 40px;
  text-align: center;
  border: 1px solid var(--dark_gray);
}
@media (max-width: 767px) {
  .block-clo--contents .block-links {
    margin-bottom: 40px;
  }
}
.block-clo--contents .block-links .heading {
  margin-top: 0 !important;
}
.block-clo--contents .block-links dt {
  margin-bottom: 20px;
  font-size: 125%;
  font-weight: bold;
}
.block-clo--contents .block-links ul {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 50px;
  justify-content: center;
}
.block-clo--contents .block-links ul li:first-of-type {
  width: 100%;
}
.block-clo--contents.contents01 .block-branding {
  background: url(../contents01/images/bg_branding.jpg) no-repeat center center;
  background-size: cover;
}
.block-clo--contents.contents01 .block-issue {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
}
.block-clo--contents.contents01 .block-issue > li {
  width: calc((100% - 90px) / 4);
  padding: 15px;
  border: 1px solid var(--dark_gray);
}
.block-clo--contents.contents01 .block-issue img {
  width: 100%;
}
.block-clo--contents.contents01 .block-issue dl {
  display: flex;
  margin-top: 20px;
  flex-direction: column;
  gap: 20px;
}
.block-clo--contents.contents01 .block-issue dt {
  font-weight: bold;
  text-align: center;
}
@media (max-width: 1000px) {
  .block-clo--contents.contents01 .block-issue > li {
    width: calc((100% - 30px) / 2);
  }
}
@media (max-width: 576px) {
  .block-clo--contents.contents01 .block-issue > li {
    width: 100%;
  }
}
.block-clo--contents.contents01 .block-issue--list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.block-clo--contents.contents01 .block-issue--list li {
  padding: 1px 5px 2px;
  color: #fff;
  font-size: 83%;
  text-align: center;
  background: var(--black);
}
.block-clo--contents.contents01 .block-overview {
  margin-bottom: 15px;
  padding: 15px;
  background: var(--light_gray);
}
.block-clo--contents.contents01 .block-overview h4 {
  color: var(--black);
  font-size: 1.25rem;
  font-weight: bold;
  text-align: center;
}
.block-clo--contents.contents02 .block-branding {
  position: relative;
  background: url(../contents02/images/bg_branding.jpg) no-repeat center center;
  background-size: cover;
}
.block-clo--contents.contents02 .block-branding p {
  position: absolute;
  width: 100%;
  max-width: 1305px;
  padding-inline: 15px;
  left: 50%;
  top: 100%;
  text-align: right;
  transform: translateX(-50%);
}
.block-clo--contents.contents02 .block-lead {
  margin-top: 60px;
}
.block-clo--contents.contents02 .block-issue {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
}
.block-clo--contents.contents02 .block-issue > li {
  width: calc((100% - 60px) / 3);
}
@media (max-width: 767px) {
  .block-clo--contents.contents02 .block-issue > li {
    width: 100%;
  }
}
.block-clo--contents.contents02 .block-issue .block-issue--inner {
  display: flex;
  margin-bottom: 15px;
  padding: 15px;
  flex-direction: column;
  gap: 20px;
  border: 1px solid var(--dark_gray);
}
@media (max-width: 767px) {
  .block-clo--contents.contents02 .block-issue .block-issue--inner {
    height: auto !important;
  }
}
.block-clo--contents.contents02 .block-issue .block-issue--inner h4 {
  margin: 0;
  color: var(--red);
  font-size: 1.25rem;
  font-weight: bold;
  text-align: center;
}
.block-clo--contents.contents02 .block-issue .block-issue--inner dt {
  font-weight: bold;
  margin-bottom: 20px;
}
.block-clo--contents.contents02 .block-issue .block-issue--inner p {
  margin: 0;
}
.block-clo--contents.contents02 .block-issue img {
  display: block;
  margin-inline: auto;
}
@media (max-width: 767px) {
  .block-clo--contents.contents02 .block-issue .block-box {
    height: auto !important;
  }
}
.block-clo--contents.contents02 .block-list--number li {
  position: relative;
  padding-left: 2em;
}
.block-clo--contents.contents02 .block-list--number .number {
  position: absolute;
  width: 2em;
  top: 0;
  left: 0;
}
.block-clo--contents.contents02 .block-table {
  width: 100%;
  border-collapse: collapse;
}
.block-clo--contents.contents02 .block-table:has(thead) {
  table-layout: fixed;
}
.block-clo--contents.contents02 .block-table:has(thead) th {
  text-align: center;
}
.block-clo--contents.contents02 .block-table:has(thead) h5 {
  display: none;
}
@media (max-width: 767px) {
  .block-clo--contents.contents02 .block-table:has(thead) thead {
    display: none;
  }
  .block-clo--contents.contents02 .block-table:has(thead) tr, .block-clo--contents.contents02 .block-table:has(thead) td {
    display: block;
  }
  .block-clo--contents.contents02 .block-table:has(thead) h5 {
    display: block;
    margin: -15px -15px 15px;
    padding: 10px 15px;
    color: #fff;
    font-weight: bold;
    background: var(--dark_gray);
  }
}
.block-clo--contents.contents02 .block-table:not(:has(thead)) th {
  width: 200px;
}
@media (max-width: 767px) {
  .block-clo--contents.contents02 .block-table:not(:has(thead)) tr, .block-clo--contents.contents02 .block-table:not(:has(thead)) th, .block-clo--contents.contents02 .block-table:not(:has(thead)) td {
    display: block;
  }
  .block-clo--contents.contents02 .block-table:not(:has(thead)) th {
    width: 100%;
  }
}
.block-clo--contents.contents02 .block-table th {
  vertical-align: middle;
  color: #fff;
  font-weight: bold;
  background: var(--dark_gray);
}
.block-clo--contents.contents02 .block-table td {
  padding: 15px;
  vertical-align: top;
  background: var(--light_gray);
  word-break: break-all;
  overflow-wrap: break-word;
}
.block-clo--contents.contents02 .block-table thead th {
  text-align: center;
}
.block-clo--contents.contents02 .block-region {
  margin-bottom: 20px;
}
.block-clo--contents.contents03 .block-branding {
  background: url(../contents03/images/bg_branding.jpg) no-repeat center center;
  background-size: cover;
}
.block-clo--contents.contents03 .block-flex {
  display: flex;
  gap: 40px;
}
@media (max-width: 767px) {
  .block-clo--contents.contents03 .block-flex {
    flex-direction: column;
    gap: 20px;
  }
}
.block-clo--contents.contents03 .block-flex .block-flex--item {
  display: flex;
  width: calc((100% - 40px) / 2);
  flex-direction: column;
  gap: 15px;
}
@media (max-width: 767px) {
  .block-clo--contents.contents03 .block-flex .block-flex--item {
    width: 100%;
  }
}
.block-clo--contents.contents03 .block-flex h3 {
  margin: 0;
  color: var(--black);
  font-size: 96%;
  text-align: center;
}
.block-clo--contents.contents03 .block-issue dl {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--dark_gray);
}
@media (max-width: 767px) {
  .block-clo--contents.contents03 .block-issue dl {
    height: auto !important;
  }
}
.block-clo--contents.contents03 .block-issue dl dt {
  color: #fff;
  padding: 4px 15px 3px;
  font-size: 90%;
  font-weight: bold;
  text-align: center;
  background: var(--dark_gray);
}
.block-clo--contents.contents03 .block-issue dl dd {
  display: flex;
  height: 100%;
  padding: 15px;
  align-items: center;
}
.block-clo--contents.contents03 .block-issue dl ul {
  margin: 0;
}
.block-clo--contents.contents03 .block-issue dl li:last-of-type {
  margin-bottom: 0;
}
.block-clo--contents.contents03 .block-issue .block-border {
  display: flex;
  padding: 15px;
  flex-direction: column;
  justify-content: center;
  border: 1px solid var(--dark_gray);
}
@media (max-width: 767px) {
  .block-clo--contents.contents03 .block-issue .block-border {
    height: auto !important;
  }
}
.block-clo--contents.contents03 .block-issue--list {
  font-size: 90%;
}
.block-clo--contents.contents03 .block-issue--list li {
  color: #fff;
  text-align: center;
  background: var(--red);
}
.block-clo--contents.contents03 .block-issue--list li:nth-child(n+2) {
  margin-top: 10px;
}
.block-clo--contents.contents03 .block-approach h4 {
  padding: 4px 15px 3px;
  color: #fff;
  text-align: center;
  background: var(--red);
}
.block-clo--contents.contents03 .block-approach--list {
  display: flex;
  gap: 20px;
}
@media (max-width: 767px) {
  .block-clo--contents.contents03 .block-approach--list {
    flex-direction: column;
    gap: 20px;
  }
}
.block-clo--contents.contents03 .block-approach--list li {
  width: calc((100% - 20px) / 2);
}
@media (max-width: 767px) {
  .block-clo--contents.contents03 .block-approach--list li {
    width: 100%;
  }
}
.block-clo--contents.contents03 .block-approach--list dl {
  padding: 15px;
  text-align: center;
  border: 1px solid var(--dark_gray);
}
.block-clo--contents.contents03 .block-approach--list dt {
  font-weight: bold;
}
.block-clo--contents.contents03 .block-approach--list dd {
  margin-top: 10px;
}
@media (max-width: 767px) {
  .block-clo--contents.contents03 .block-approach--list dd {
    height: auto !important;
  }
}
.block-clo--contents.contents03 .block-approach--list .point {
  padding: 4px 15px 3px;
  color: #fff;
  background: var(--red);
}
.block-clo--contents.contents03 .block-image {
  margin-bottom: 15px;
}
.block-clo--contents.contents03 .block-button {
  margin-top: 40px;
  text-align: center;
}