@charset "UTF-8";
/* HERO─────────────────*/
#hero {
  width: 100%;
  position: relative;
}

/* スライダー-------*/
.swiper {
  width: 100%;
  height: 100%;
  overflow: hidden;
  position: relative;
}

.swiper-slide {
  width: 1240px;
  height: 60vh;
  opacity: 0.4;
  transition: opacity 0.3s ease;
}

.swiper-slide-active {
  opacity: 1;
}

.swiper-slide img {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 20px;
  -o-object-fit: cover;
     object-fit: cover;
}

.swiper-button-next {
  position: absolute;
  width: 82px;
  height: 82px;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}
.swiper-button-next::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-image: url("../images/right.png");
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (max-width: 430px) {
  .swiper-button-next {
    width: 40px;
    height: 40px;
  }
}

.swiper-button-prev {
  position: absolute;
  width: 82px;
  height: 82px;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
.swiper-button-prev::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-image: url("../images/left.png");
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (max-width: 430px) {
  .swiper-button-prev {
    width: 40px;
    height: 40px;
  }
}

/* コンテンツ─────────────────*/
/* about-----*/
#sec-about {
  position: relative;
}
#sec-about::before {
  content: "";
  position: absolute;
  left: 0;
  top: clamp(187px, 36%, 410px);
  width: clamp(73px, 13.229vw, 254px);
  height: clamp(99px, 10.313vw, 198px);
  background: url(../images/leaf.png) no-repeat center center/contain;
}
#sec-about::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: clamp(100px, 20%, 200px);
  width: clamp(85px, 8.854vw, 170px);
  height: clamp(78px, 8.125vw, 156px);
  background: url(../images/leaf-right.png) no-repeat center center/contain;
}
@media screen and (max-width: 468px) {
  #sec-about::after {
    display: none;
  }
}

.about-head {
  padding-top: max(50px, 10%);
  background: url(../images/about-bg.png) no-repeat top left/51.854%;
}

.about-ttl {
  font-size: clamp(2.8rem, 5vw, 6rem);
  font-weight: 700;
  text-align: center;
  margin-bottom: 0.5em;
}

.about-lead {
  font-size: clamp(1.8rem, 3vw, 3.2rem);
  font-weight: 500;
  text-align: center;
  margin-bottom: 20px;
}

.about-img {
  display: flex;
  justify-content: center;
  margin-left: 50px;
  gap: 3%;
  align-items: flex-start;
}
.about-img img {
  width: 22.75%;
}
.about-img img:nth-child(1), .about-img img:nth-child(4) {
  margin-top: 10%;
}
@media screen and (max-width: 652px) {
  .about-img img:nth-child(1), .about-img img:nth-child(4) {
    margin-top: 0;
  }
}
@media screen and (max-width: 652px) {
  .about-img img {
    width: 100%;
  }
  .about-img img:nth-child(1), .about-img img:nth-child(4) {
    margin-top: 0;
  }
  .about-img img:nth-child(2), .about-img img:nth-child(4) {
    margin-top: 20px;
  }
}
@media screen and (max-width: 1392px) {
  .about-img {
    width: 100%;
    padding-left: 10px;
    padding-right: 10px;
    margin-left: 0;
  }
}
@media screen and (max-width: 1025px) {
  .about-img {
    gap: 0;
    padding-left: 20px;
    padding-right: 20px;
  }
  .about-img img {
    width: 25%;
  }
}

.about-txt {
  font-size: clamp(1.6rem, 2.5vw, 3.2rem);
  text-align: center;
  margin-top: -7%;
}
@media screen and (max-width: 652px) {
  .about-txt {
    margin-top: 0;
  }
}

.about-bottom {
  display: block;
  margin-top: max(30px, 5%);
  text-align: center;
}

/* content-link-------*/
#content-link {
  background: url(../images/content-link-bg.png) no-repeat top center/100%;
  padding-top: 8%;
}

.content-link-wrap {
  background-color: #F8DC4A;
  padding-bottom: max(50px, 10%);
}

.content-link-list {
  display: flex;
  overflow-x: scroll;
  -ms-overflow-style: none;
  scrollbar-width: none;
  justify-content: space-between;
}
.content-link-list::-webkit-scrollbar {
  display: none;
}
@media screen and (max-width: 468px) {
  .content-link-list {
    flex-wrap: wrap;
  }
}

.content-link-item {
  width: calc((100% - 30px) / 3);
  background-color: #fff;
  border-radius: 20px;
  padding: 25px;
}
.content-link-item img {
  border-radius: 20px;
  width: 100%;
  height: auto;
  aspect-ratio: 352/305;
  -o-object-fit: cover;
     object-fit: cover;
}
.content-link-item .btn {
  margin-top: max(20px, 4%);
}
.content-link-item .btn a {
  margin: auto;
}
@media screen and (max-width: 893px) {
  .content-link-item {
    width: 45%;
    margin-right: 20px;
    flex-shrink: 0;
  }
}
@media screen and (max-width: 648px) {
  .content-link-item {
    width: 64%;
    margin-right: 20px;
    flex-shrink: 0;
  }
}
@media screen and (max-width: 468px) {
  .content-link-item {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: max(20px, 4%);
  }
  .content-link-item:last-child {
    margin-bottom: 0;
  }
}

.content-link-ttl {
  font-size: clamp(1.6rem, 2vw, 2.4rem);
  font-weight: 700;
  margin-top: 24px;
  color: #18A7D8;
  text-align: center;
}

.content-link-txt {
  text-align: center;
  margin-top: 10px;
}

/* news--------*/
#sec-news {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 767px) {
  #sec-news {
    flex-direction: column;
  }
}

.news-head {
  width: clamp(170px, 20vw, 258px);
}
@media screen and (max-width: 767px) {
  .news-head {
    width: 100%;
    display: flex;
    justify-content: space-between;
  }
  .news-head .btn a {
    width: 180px;
  }
}

.news-ttl {
  font-size: clamp(2.4rem, 3vw, 5rem);
  text-align: justify;
  -moz-text-align-last: justify;
       text-align-last: justify;
  margin-bottom: 1.5em;
}
@media screen and (max-width: 767px) {
  .news-ttl {
    text-align: left;
    -moz-text-align-last: left;
         text-align-last: left;
    padding-top: 0.3em;
  }
}

.news-content {
  margin-left: 3em;
  width: calc(100% - clamp(170px, 20vw, 258px) - 5em);
}
@media screen and (max-width: 767px) {
  .news-content {
    margin-left: 0;
    margin-top: max(30px, 5%);
    width: 100%;
  }
}

.news-list {
  display: flex;
  flex-wrap: wrap;
}
.news-list .news-date {
  width: 14em;
  padding-bottom: 2em;
  border-bottom: dotted 1px #4E2F02;
}
.news-list .news-date span {
  display: inline-block;
  width: 6.4em;
  padding: 0.2em;
  text-align: center;
  border-radius: 5px;
  color: #fff;
  margin-left: 1em;
}
.news-list .news-date span.event {
  background-color: #559E28;
}
.news-list .news-date span.letter {
  background-color: #FF5E6F;
}
.news-list .news-date span.menu {
  background-color: #18A7D8;
}
.news-list .news-date span.other {
  background-color: #D42CE3;
}
.news-list .news-date span.notice {
  background-color: #F0A535;
}
.news-list .news-date:not(:first-child) {
  padding-top: 2em;
}
.news-list .news-date:not(:first-child) + dd a {
  padding-top: 2em;
}

.news-list-ttl {
  width: calc(100% - 14em);
  border-bottom: dotted 1px #4E2F02;
  position: relative;
}
.news-list-ttl a {
  padding-bottom: 2em;
  padding-right: 50px;
  display: block;
}
.news-list-ttl a::before {
  content: "";
  display: inline-block;
  width: 36px;
  height: 36px;
  background: url(../images/news-arrow.png) no-repeat center center/contain;
  position: absolute;
  right: 15px;
}
@media screen and (max-width: 515px) {
  .news-list-ttl a::before {
    right: 0;
  }
}
.news-list-ttl a::before:hover::before {
  right: 10px;
}

@media screen and (max-width: 515px) {
  .news-list {
    flex-direction: column;
  }
  .news-list .news-date {
    width: 100%;
    border-bottom: none;
    padding-bottom: 0;
  }
  .news-list .news-date:not(:first-child) + dd a {
    padding-top: 0.5em;
  }
  .news-list .news-date:first-child + dd a {
    padding-top: 0.5em;
  }
  .news-list .news-list-ttl {
    width: 100%;
    padding-top: 0;
  }
}/*# sourceMappingURL=top.css.map */