.top-img {
  margin: 0 auto;
  margin-bottom: 100px;
}
.top-img img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 60px;
}

.top-view {
  display: block;
  margin: 0 15px;
  position: relative;
  height: auto;
  margin-bottom: 50px;
}
.top-view .left {
  position: absolute;
  bottom: 10px;
  left: 10px;
  z-index: 1;
}
.top-view .left .catch {
  font-size: 16px;
  line-height: 2.2;
  color: #0194A5;
  font-weight: 700;
  letter-spacing: 0.3rem;
}
.top-view .left .catch span {
  background-color: #fff !important;
  padding: 2px 10px;
  white-space: nowrap;
}
.top-view .left .catch .skyblue {
  color: #59C4D1;
  padding: 0;
}
.top-view .left .catch .head-down {
  margin-top: 2.4em;
  height: auto;
}
.top-view .right {
  z-index: 0;
  width: 100%;
  height: 100%;
  padding-left: 10%;
}
.top-view .right .top-img-wrap {
  border-radius: 35px;
  height: 100%;
  overflow: hidden;
  font-size: 0;
}
.top-view .right .top-img-wrap img {
  -o-object-fit: cover;
     object-fit: cover;
  max-width: 100%;
  width: 100%;
  height: inherit;
}

@media print, screen and (min-width: 880px) {
  .top-view {
    height: calc(100vh - 160px);
    margin-bottom: 100px;
  }
  .top-view .left {
    bottom: 30px;
    left: 30px;
  }
  .top-view .left .catch {
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    font-size: 2.13vw;
  }
  .top-view .right .top-img-wrap {
    border-radius: 70px;
  }
  .top-view .right .top-img-wrap img {
    height: 100%;
  }
}
.h2-main {
  font-size: 47px;
  color: var(--fc2);
  margin-bottom: 20px;
  display: grid;
  gap: 10px;
  line-height: 1;
}
.h2-main span {
  font-size: 17px;
  color: var(--fc3);
}

@media print, screen and (min-width: 880px) {
  .h2-main {
    font-size: 80px;
  }
  .h2-main span {
    font-size: 30px;
  }
}
.news-wrap {
  display: flex;
  margin-bottom: 20px;
}
.news-wrap .left {
  width: 100%;
}
.news-wrap .right .ul-news li {
  background-color: #E2FAFF;
  background: linear-gradient(to bottom, #E2FAFF, #E0F6F9);
  margin-bottom: 8px;
  border-radius: 17px;
  transition-duration: 0.2s;
}
.news-wrap .right .ul-news li a {
  display: block;
  padding: 21px 19px;
  flex-direction: column;
  color: var(--fc2);
  font-weight: bold;
}
.news-wrap .right .ul-news li a span {
  display: inline-block;
}
.news-wrap .right .ul-news li a .date {
  color: #18A0AF;
  margin-right: 20px;
}

@media print, screen and (min-width: 880px) {
  .news-wrap {
    margin-bottom: 70px;
  }
  .news-wrap .right li a {
    flex-direction: row;
  }
  .news-wrap .right .ul-news {
    margin-top: 22px;
  }
}
.more {
  width: 239px;
  height: 68px;
  margin: 0 auto;
  background-color: var(--fc3);
  border-radius: 50px;
  transition-duration: 0.2s;
}
.more a {
  display: block;
  height: auto;
  padding: 22px 50px 22px 77px;
  text-decoration: none;
  color: #fff;
  font-size: 16px;
  background-image: url(../img/news_button_icon.png);
  background-repeat: no-repeat;
  background-size: 22px;
  background-position: 38px 28px;
  font-weight: bold;
}
.more:hover {
  box-shadow: 4px 4px 0px rgba(24, 160, 175, 0.3215686275);
}

@media print, screen and (min-width: 880px) {
  .more {
    width: 296px;
    height: 85px;
  }
  .more a {
    padding: 28px 60px 22px 96px;
    font-size: 20px;
    background-size: 28px;
    background-position: 45px 32px;
  }
}
.inner-about {
  max-width: 1620px;
  padding: 0 10px;
  margin: 0 auto;
  padding-bottom: 100px;
}

@media print, screen and (min-width: 880px) {
  .inner-about {
    padding-bottom: 190px;
  }
}
.about-wrap {
  background-color: #C9F8F8;
  padding: 18px 18px 22px 18px;
  border-radius: 45px;
  background-image: url(../img/dot_bg.png);
}
.about-wrap .left {
  margin: auto 0;
  text-align: center;
  position: relative;
  top: -35px;
}
.about-wrap .left .h2-main {
  margin-bottom: 30px;
  z-index: 3;
}
.about-wrap .left p {
  font-size: 16px;
  line-height: 1.9em;
  text-align: left;
}
.about-wrap .right .about-img-wrap {
  margin-left: auto;
  width: 100%;
  height: 230px;
  border-radius: 32px;
  position: relative;
  overflow: hidden;
}
.about-wrap .right .about-img-wrap img {
  max-width: 100%;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

@media print, screen and (min-width: 880px) {
  .about-wrap {
    border-radius: 100px;
    padding: 4vw;
    gap: 20px !important;
  }
  .about-wrap .left {
    padding-left: 4vw;
    text-align: left;
    top: 0px;
  }
  .about-wrap .left .h2-main {
    font-size: 50px;
  }
  .about-wrap .left .h2-main span {
    font-size: 17px;
  }
  .about-wrap .left p {
    max-width: 488px;
    font-size: 19px;
  }
  .about-wrap .right .about-img-wrap {
    max-width: 774px;
    height: 545px;
    border-radius: 106px;
  }
}
@media print, screen and (min-width: 1280px) {
  .about-wrap .left .h2-main {
    font-size: 80px;
  }
  .about-wrap .left .h2-main span {
    font-size: 30px;
  }
  .about-wrap .left p {
    font-size: 22px;
  }
}
.bg-layer1 {
  position: relative;
}
.bg-layer1::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 82%;
  bottom: -100px;
  border-radius: 70px 70px 0 0;
  background-color: #E0F6F9;
  z-index: -1;
}

.bg-layer2 {
  position: relative;
  background-color: #E0F6F9;
  z-index: 1;
}
.bg-layer2::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 115%;
  bottom: -105px;
  border-radius: 35px 35px 0 0;
  background-color: #F1FCFE;
  z-index: -1;
}

@media print, screen and (min-width: 880px) {
  .bg-layer2::after {
    border-radius: 70px 70px 0 0;
  }
}
.bg-layer3 {
  background-color: #F1FCFE;
  padding-top: 20px;
}

@media print, screen and (min-width: 880px) {
  .bg-layer3 {
    padding-top: 100px;
  }
}