/**
 * Base Font Size
 */
.professional-block {
  counter-set: order;
}
.professional-block .numbering {
  counter-increment: order;
  max-width: 1120px;
  width: 100%;
  margin: 0 auto;
  border-top: 1px solid #C9C9CA;
  padding: 40px 0 80px;
}
@media screen and (max-width: 768px) {
  .professional-block .numbering {
    padding: 32px 16px;
  }
}
.professional-block .numbering .short-block {
  max-width: 960px;
  width: 100%;
  margin: 0 auto;
}
.professional-block .numbering .section-title {
  gap: 24px;
}
@media screen and (max-width: 768px) {
  .professional-block .numbering .section-title {
    gap: 12px;
  }
}
.professional-block .numbering .section-title .section-number {
  width: 38px;
  height: 36px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
}
.professional-block .numbering .section-title .section-number::before {
  content: counter(order, decimal-leading-zero);
  font-size: calc(24 * 1rem / 16);
  font-family: Roboto, "Noto Sans JP", sans-serif;
  color: #E6181C;
  line-height: 1;
}
.professional-block .numbering .section-title .section-number::after {
  content: "";
  display: block;
  height: 1px;
  width: 100%;
  background-color: #E6181C;
  flex-shrink: 0;
}

.balloon {
  width: 100%;
  position: relative;
}
.balloon::before {
  content: "";
  background-image: url(/assets/flood_damage/03/img/balloon-top.svg);
  background-size: contain;
  background-repeat: no-repeat;
  width: 19px;
  height: 10px;
  position: absolute;
  bottom: 99%;
  left: 50%;
  transform: translateX(-50%);
}

.table-contents .cell-long {
  width: 66.6666666667%;
}
.table-contents th, .table-contents td {
  border: 1px solid #C9C9CA;
}
.table-contents th {
  padding: 12px 8px;
}
.table-contents td {
  padding: 20px 8px;
}
.table-contents tbody {
  counter-set: table-rows;
}
.table-contents tr {
  counter-increment: table-rows;
}
.table-contents .row-number {
  gap: 8px;
}
.table-contents .row-number::before {
  display: block;
  width: 1.5em;
  content: counter(table-rows) ".";
}
.table-contents caption {
  padding-top: 22px;
}
.table-contents caption .balloon {
  font-size: calc(20 * 1rem / 16);
  line-height: 1.4;
  padding: 16px;
}
@media screen and (max-width: 768px) {
  .table-contents caption .balloon {
    font-size: calc(14 * 1rem / 16);
  }
}

.text-block {
  width: 100%;
  line-height: 1.8;
}
.text-block.short-text-block {
  max-width: 540px;
}
.text-block.long-text-block {
  max-width: 800px;
}

.image-block .balloon {
  margin-top: 22px;
  font-size: calc(20 * 1rem / 16);
  line-height: 1.4;
  padding: 16px;
}
@media screen and (max-width: 768px) {
  .image-block .balloon {
    font-size: calc(14 * 1rem / 16);
  }
}
.image-block .caption {
  margin-top: 8px;
}

.countermeasure {
  padding: 24px;
}
@media screen and (max-width: 768px) {
  .countermeasure {
    padding: 16px;
    grid-template-rows: auto !important;
  }
}
.countermeasure .block {
  padding: 16px;
}
.countermeasure .title-set {
  width: 100%;
  min-height: 2.8em;
}
@media screen and (max-width: 768px) {
  .countermeasure .title-set {
    min-height: auto;
  }
}
.countermeasure .border-bottom-red {
  border-bottom: 2px solid #E6181C;
  padding-bottom: 12px;
}

.profile {
  max-width: 1120px;
  width: 100%;
  margin: 0 auto 80px;
  overflow: hidden;
}
.profile .profile-title {
  width: 100%;
  padding: 6px;
}
.profile .grid-contents {
  border: 1px solid #C9C9CA;
  border-radius: 0 0 10px 10px;
  padding: 24px;
  gap: 16px 24px;
  grid-template-columns: 22.3880597015% 25% 47.8544776119%;
  grid-template-rows: auto;
}
@media screen and (max-width: 768px) {
  .profile .grid-contents {
    grid-template-columns: 1fr;
  }
}
.profile .grid-contents .name-block {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}
.profile .grid-contents .text-block {
  line-height: 1.8;
}
.profile .grid-contents .text-block p {
  margin: 0;
}
.profile .grid-contents .special {
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.profile .grid-contents .special p {
  margin: 0;
}

/*# sourceMappingURL=fd_contents_03_style.css.map */
