/*==================================
  Top
==================================*/
main {
  padding: 16.4vw 0 0;
  overflow: hidden;
}

#header {
  background: #fff;
}
#header .header_inner::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  border-bottom: 1px solid #d0ceca;
}

#key {
  position: relative;
  overflow: hidden;
}
#key::before {
  content: "";
  position: absolute;
  top: 0;
  left: 2.67vw;
  right: 2.67vw;
  height: 70.67vw;
  border-radius: 2vw 0 0 0;
  background-image: linear-gradient(140deg, rgb(221, 215, 201) 0%, rgba(250, 248, 245, 0.42) 40%, rgb(250, 248, 245) 100%);
}
#key .deco {
  position: absolute;
  width: 142.267vw;
  right: -4vw;
  top: 13.3vw;
}
#key .key-slider {
  position: relative;
  margin: 0 2.67vw;
}
#key .key-slider .swiper-pagination {
  position: absolute;
  right: 8vw;
  bottom: 5.467vw;
  display: flex;
  flex-direction: column;
  gap: 2.4vw;
  left: auto;
  width: auto;
}
#key .key-slider .swiper-pagination .swiper-pagination-bullet {
  margin: 0;
  width: 1vw;
  height: 1vw;
  border-radius: 0.53vw;
  background: #fff;
  transition: all 0.3s;
  opacity: 1;
}
#key .key-slider .swiper-pagination .swiper-pagination-bullet-active {
  height: 5.3vw;
}
#key .key-slider .swiper-slide .inner .group-content {
  height: 70.67vw;
  padding: 10vw 0 0 6.67vw;
  box-sizing: border-box;
}
#key .key-slider .swiper-slide .inner .group-content h2 {
  font-size: 7.467vw;
  line-height: 1.4;
  letter-spacing: 0;
}
#key .key-slider .swiper-slide .inner .group-content h2 span {
  letter-spacing: -0.14em;
}
#key .key-slider .swiper-slide .inner .group-content h2 small {
  display: block;
  font-size: 4.8vw;
}
#key .key-slider .swiper-slide .inner .group-content .txt {
  color: #716f6a;
  font-size: 13px;
  line-height: 1.5;
  margin: 5vw 0;
  letter-spacing: 0;
}
#key .key-slider .swiper-slide .inner .group-img {
  overflow: hidden;
  position: relative;
}
#key .key-slider .swiper-slide .inner .group-img .img {
  height: 90.67vw;
}
#key .key-slider .swiper-slide .inner .group-img .img-small {
  width: 41.6vw;
  overflow: hidden;
  border-radius: 20.8vw 20.8vw 0 0;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

#links {
  position: relative;
  padding: 13.2vw 0 0;
}
#links .deco {
  position: absolute;
  width: 92vw;
  bottom: -8.4vw;
  right: 34.4vw;
  z-index: 1;
}
#links .inner {
  margin: 0 5.3vw;
}
#links .inner .img {
  width: 58.93vw;
  margin: 10vw auto 0;
}
#links .inner .group-links .link {
  border-bottom: 1px solid #d0ceca;
}
#links .inner .group-links .link a {
  display: block;
  padding: 4vw 10vw 4vw 0;
  position: relative;
  text-decoration: none;
}
#links .inner .group-links .link a .text-en {
  color: #716f6a;
  font-size: 2.67vw;
  line-height: 1.5;
}
#links .inner .group-links .link a .text-link {
  font-size: 5vw;
  line-height: 1.5;
  margin: 2vw 0 0;
}
#links .inner .group-links .link a .icon {
  position: absolute;
  width: 5.73vw;
  height: 5.73vw;
  border-radius: 50%;
  background: #746440;
  box-sizing: border-box;
  border: 1px solid #746440;
  bottom: 5.2vw;
  right: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.5s;
}
#links .inner .group-links .link a .icon::before {
  content: "";
  width: 0.93vw;
  height: 0.93vw;
  border-radius: 50%;
  background: #fff;
  transition: all 0.5s;
}

#news {
  position: relative;
  padding: 15.5vw 0 20vw;
}
#news .deco {
  position: absolute;
  width: 224.267vw;
  right: -65vw;
  top: 15vw;
}
#news .inner {
  position: relative;
  padding: 0 5.3vw;
}
#news .inner .btn-link {
  margin: 6.8vw 0 0;
}
#news .inner .list {
  margin: 4vw 0 0;
}
#news .inner .list .item {
  border-bottom: 1px solid #d0ceca;
  box-sizing: border-box;
  overflow: hidden;
}
#news .inner .list .item + .item {
  margin-top: 20px;
}
#news .inner .list .item:last-child {
  border-bottom: 0;
}
#news .inner .list .item a {
  display: block;
  text-decoration: none;
  padding: 0 0 5vw;
  position: relative;
  transition: all 0.5s;
  box-sizing: border-box;
}
#news .inner .list .item a .inner-content {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
#news .inner .list .item a .img {
  width: 28vw;
  margin: 5px 0 0;
}
#news .inner .list .item a .gr {
  width: 55vw;
}
#news .inner .list .item a .tag {
  font-size: 10px;
  line-height: 1.5;
  color: #716f6a;
  margin: 0 0 7px;
  position: relative;
}
#news .inner .list .item a .title {
  font-size: 14px;
  line-height: 1.3;
  letter-spacing: -0.05em;
  position: relative;
  word-break: break-word;
}
#news .inner .list .item a .date {
  position: relative;
  font-size: 10px;
  line-height: 1.5;
  color: #716f6a;
  margin: 10px 0 0;
}