.greeting {
  margin-top: 56px;
}
.greeting .grid_122 {
  gap: 12px;
}
.greeting .grid_row:first-of-type {
  order: 2;
}
.greeting .grid_row:nth-of-type(2) {
  order: 1;
}
.greeting_heading {
  font-size: 22px;
  margin-bottom: 2px;
  letter-spacing: 0.05em;
}
.greeting_name {
  text-align: right;
  margin-top: 16px;
}
.greeting_image {
  width: 100%;
  aspect-ratio: 500/281;
}
@media screen and (min-width: 768px) {
  .greeting {
    margin-top: 63px;
  }
  .greeting .grid_122 {
    gap: 50px;
  }
  .greeting .grid_row:first-of-type {
    order: 1;
  }
  .greeting .grid_row:nth-of-type(2) {
    order: 2;
  }
  .greeting_heading {
    font-size: 30px;
    margin-bottom: 4px;
  }
  .greeting_name {
    margin-top: 32px;
  }
  .greeting_image {
    margin-top: 5px;
  }
}
@media screen and (min-width: 980px) {
  .greeting {
    margin-top: 58px;
  }
  .greeting .grid_122 {
    gap: 42px;
  }
  .greeting_heading {
    margin-bottom: 3px;
  }
  .greeting_name {
    margin-top: 47px;
  }
  .greeting_image {
    margin-top: 12px;
  }
}

.section.list_sub_pages {
  margin-top: 35px;
}
@media screen and (min-width: 768px) {
  .section.list_sub_pages {
    margin-top: 50px;
  }
}
@media screen and (min-width: 980px) {
  .section.list_sub_pages {
    margin-top: 55px;
  }
}

@media screen and (min-width: 768px) {
  .list_sub_pages .grid_123 {
    column-gap: 50px;
    row-gap: 40px;
  }
}

.sub_page_image {
  width: 100%;
  aspect-ratio: 316/178;
}
.sub_page .sub_section_header {
  margin-top: 9px;
}
@media screen and (min-width: 768px) {
  .sub_page .sub_section_header {
    margin-top: 4px;
  }
}
@media screen and (min-width: 980px) {
  .sub_page .sub_section_header {
    margin-top: 3px;
  }
}

#main {
  padding-bottom: 85px;
}