html {
  /* font-size: 62.5%;
  letter-spacing: 0;
  font-family: "Noto Sans JP", sans-serif;
  -webkit-text-size-adjust: none;
  font-feature-settings: "halt"; */

  @media screen and (min-width: 1080.01px) and (max-width: 1919.99px) {
    /* font-size: calc(10 / 1920 * 100 * 1vw); */
  }

  /* あまりにも文字サイズが小さくなった場合 */
  @media screen and (min-width: 767.01px) and (max-width: 1080px) {
    /* font-size: calc(12 / 1920 * 100 * 1vw); */
  }

  /* スマホ用（デザインサイズが375の場合） */
  @media screen and (max-width: 767px) {
    /* font-size: calc(10 / 375 * 100 * 1vw); */
  }
}

/* body {
  font-size: 16px;
  line-height: 1;
  overflow: auto;

  @media screen and (max-width: 767px) {
    font-size: 0.875em;
  }
} */
img {
  display: block;
  max-width: 100%;
  height: auto;
  vertical-align: top;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;

  @media screen and (max-width: 767px) {
    /* スマホ画像長押し禁止対策 */
    pointer-events: none;
  }
}

/* ------------------------------------------- */
/* inner config */
/* ------------------------------------------- */
.inner {
  position: relative;
  z-index: 1;
  margin: 0 auto;

  @media screen and (max-width: 1024px) {
    width: calc(100% - 40px);
  }

  @media screen and (max-width: 767px) {
    width: calc(100% - 40px);
  }
}

.w800 {
  max-width: 800px;
}

.w1060 {
  max-width: 1060px;
}

.fv-img {
  clear: both;
  padding-top: 80px;
  padding-bottom: 80px;
  display: flex;
  justify-content: center;

  & img {
    width: 545px;
    margin: auto;
  }

  @media screen and (max-width: 1024px) {
    margin: auto;
    padding-bottom: 30px;
    display: flex;
    padding-top: 30px;
  }

  @media screen and (max-width: 767px) {
    padding-top: 33px;
    margin-bottom: 30px;
    padding-bottom: 0;
    width: 100%;

    & img {
      width: 90%;
    }
  }
}

/* ------------------------------------------- */
/* first-section */
/* ------------------------------------------- */

.first-section {
  background-color: #008ac9;
  padding: 100px 0;

  @media screen and (max-width: 767px) {
    padding: 33px 0;
  }
}

.fs-title {
  /* font-family: "Meiryo"; */
  font-style: normal;
  font-weight: 700;
  /* font-size: 24px; */
  font-size: 1.5em;
  line-height: 160%;
  text-align: center;
  color: #ffffff;
  border: none;
  background: none;
  margin-bottom: 30px;

  @media screen and (max-width: 767px) {
    /* font-size: 1em; */
    font-size: 1.2em;
    margin-bottom: 15px;
    padding-left: 0;
  }
}

.fs-content {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.fs-content-text {
  /* font-family: "Meiryo"; */
  font-style: normal;
  font-weight: 400;
  /* font-size: 16px; */
  font-size: 1em;
  line-height: 180%;
  color: #ffffff;

  @media screen and (max-width: 767px) {
    /* font-size: 0.875em; */
    font-size: 1em;
    line-height: 160%;
  }
}

/* ------------------------------------------- */
/* second-section */
/* ------------------------------------------- */

.second-section {
  padding-top: 100px;
  padding-bottom: 60px;

  @media screen and (max-width: 767px) {
    padding-top: 33px;
    padding-bottom: 30px;
  }
}

.news-list {
  width: 100%;
  /* padding-top: 50px; */

  @media screen and (max-width: 767px) {
    padding-top: 0;
  }
}

.nl-content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px;
  border-bottom: 1px solid #cccccc;
  text-decoration: none;
  transition: all 0.3s ease;

  &:hover {
    opacity: 0.6;
  }

  &:first-child {
    padding-top: 0;
  }

  @media screen and (max-width: 767px) {
    padding: 15px 0;

    &:first-child {
      padding-top: 0;
    }
  }
}

.nl-content-article {
  display: flex;
  align-items: center;
  gap: 20px;

  @media screen and (max-width: 767px) {
    flex-direction: column;
    gap: 5px;
    width: 95%;
    align-items: flex-start;
  }
}

.news-date-tag {
  display: flex;
  align-items: center;
  gap: 20px;

  @media screen and (max-width: 767px) {
    gap: 10px;
  }
}

.news-date {
  /* font-family: "Meiryo"; */
  font-style: normal;
  font-weight: 400;
  /* font-size: 16px; */
  font-size: 1em;
  line-height: 156%;
  color: #000000;

  @media screen and (max-width: 767px) {
    padding-top: 3px;
    font-size: 0.875em;
  }
}

.news-tag {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding: 8px 10px 5px;
  gap: 10px;
  background: #f1f2f6;
  color: #000000;
  /* font-family: "Meiryo"; */
  font-style: normal;
  font-weight: 400;
  /* font-size: 16px; */
  font-size: 0.85em;
  line-height: 100%;
  font-weight: bold;
  width: 80px;

  @media screen and (max-width: 767px) {
    font-size: 0.875em;
    width: 60px;
    padding: 4px 5px 2px;
  }
}

.news-item {
  /* font-family: "Meiryo"; */
  font-style: normal;
  font-weight: 400;
  /* font-size: 16px; */
  font-size: 1em;
  line-height: 156%;
  color: #000000;

  @media screen and (max-width: 767px) {
    font-size: 1em;
    line-height: 160%;
  }
}

/* ------------------------------------------- */
/* third-section */
/* ------------------------------------------- */

.third-section {
  padding-top: 60px;
  padding-bottom: 60px;

  @media screen and (max-width: 767px) {
    padding-top: 20px;
    padding-bottom: 30px;
  }
}

.program-list {
  width: 100%;
  display: flex;
  gap: 15px;
  padding-bottom: 40px;

  @media screen and (max-width: 767px) {
    flex-wrap: wrap;
    padding-bottom: 20px;
  }
}

.program-item {
  width: 25%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 15px;

  @media screen and (max-width: 767px) {
    width: 100%;

    & img {
      width: 100%;
      order: 2;
    }
  }

  /* @media screen and (max-width: 480px) {
    width: 100%;
  } */
}

.program-item-title {
  /* font-family: "Meiryo"; */
  font-style: normal;
  font-weight: 700;
  /* font-size: 18px; */
  font-size: 1.125em;
  line-height: 100%;
  display: flex;
  align-items: center;
  text-align: center;
  color: #000000;
  padding-bottom: 0;

  @media screen and (max-width: 767px) {
    /* font-size: 1em; */
    /* font-size: 16px; */
    font-size: 1.2em;
    order: 0;
  }
}

.program-item-content {
  /* font-family: "Meiryo"; */
  font-style: normal;
  font-weight: 400;
  /* font-size: 14px; */
  font-size: 0.875em;
  line-height: 150%;
  color: #000000;

  @media screen and (max-width: 767px) {
    /* font-size: 0.875em; */
    font-size: 1em;
    line-height: 160%;
    order: 1;
  }
}

.program-list-sp {
  display: none;

  @media screen and (max-width: 767px) {
    display: flex;
    flex-direction: column;
    gap: 15px;

    .program-item {
      display: flex;
      flex-direction: row;
      gap: 15px;
      width: 100%;
      align-items: center;
    }

    & img {
      width: 40%;
      order: 0;
    }

    .pi-sp {
      width: 60%;
      display: flex;
      flex-direction: column;
      gap: 5px;
      order: 1;
      justify-content: center;
      padding-top: 10px;
    }

    .mtm {
      margin-top: -20px;
    }
  }
}

/* ------------------------------------------- */
/* fourth-section */
/* ------------------------------------------- */

.fourth-section {
  padding-top: 60px;
  padding-bottom: 60px;

  .announcement {
    display: flex;
    padding: 20px;
    font-size: 1.2em;
    font-weight: 700;
    color: #000000;
    text-align: center;
    justify-content: center;
  }

  @media screen and (max-width: 767px) {
    padding-top: 20px;
    padding-bottom: 30px;

    .announcement {
      font-size: 1em;
    }
  }
}

/* ------------------------------------------- */
/* fifth-section */
/* ------------------------------------------- */

.fifth-section {
  padding-top: 60px;
  padding-bottom: 60px;

  @media screen and (max-width: 767px) {
    padding-top: 20px;
    padding-bottom: 30px;
  }
}
