#rss {
  margin: 9vw 2.67vw 0;
  background: #f3f2eb;
  padding: 7vw 5.76vw 6vw;
}
#rss .row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 0 15px 2.5vw;
}
#rss .row .btn-more {
  width: 94px;
}
#rss .row .btn-more a {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 28px;
  color: #fff;
  border-radius: 5px;
  background: #110c4d;
  gap: 15px;
  font-size: 13px;
  letter-spacing: 0.15em;
  line-height: 1.4;
}
#rss .row .btn-more a img {
  width: 6.5px;
}
#rss #feed dl {
  display: flex;
  justify-content: space-between;
}
#rss #feed dl:after {
  display: none;
}
#rss #feed dl dt {
  width: 103px;
}
#rss #feed dl dt a {
  display: block;
}
#rss #feed dl dt span {
  width: 100% !important;
  height: 70px !important;
  display: block;
  background: url("../img/index/rss_img.jpg") no-repeat center/cover;
}
#rss #feed dl dd {
  margin: 12px 0 0;
  text-align: left;
  width: calc(100% - 115px);
}
#rss #feed dl dd a {
  display: block;
  font-size: 12px;
  letter-spacing: 0.05em;
  line-height: 1.5;
}
#rss #feed dl dd span {
  display: block;
  margin: 15px 0 0;
  letter-spacing: 0.15em;
  line-height: 1.5;
  font-size: 10px;
  text-decoration: underline;
  text-underline-offset: 4px;
  text-decoration-style: dashed;
}

.block dl:after {
  display: none !important;
}

#news_box {
  margin: 5px 2.67vw 0;
  background: #fcfbf4;
  padding: 25px 0;
  text-align: center;
}
#news_box .txt {
  letter-spacing: 0;
  margin: 15px 0 20px;
  font-size: 12px;
  line-height: 2;
  padding: 0;
}
#news_box .btn {
  margin: 0 auto;
  width: 315px;
  max-width: calc(100% - 20px);
}
#news_box .btn a {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #110c4d;
  border-radius: 5px;
  text-decoration: none;
  height: 38.5px;
  font-size: 18px;
  line-height: 1.5;
  letter-spacing: 0.15em;
  gap: 12px;
  color: #fff;
}
#news_box .btn a img {
  width: 8.5px;
}

:root {
  --wrapPadding: 5.3vw;
}

#sec1 {
  margin: 16vw 0 0;
  position: relative;
}
#sec1 .deco {
  position: absolute;
  top: 0;
  left: 0;
  width: 31.6vw;
}
#sec1 .img {
  margin: 0 1.73vw 6vw;
}
#sec1 .txt {
  margin: 0 var(--wrapPadding);
}

#sec2 {
  position: relative;
  margin: 15vw 0 0;
  padding: 12vw 0 15vw;
}
#sec2::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  right: 18.5vw;
  top: 0;
  background: url("../img/shared/line.png");
  background-size: 70vw auto;
}
#sec2 .deco {
  position: absolute;
  width: 31.6vw;
  top: -16.5vw;
  right: 2.67vw;
}
#sec2 .group-content {
  padding: 0 var(--wrapPadding);
}
#sec2 .group-img {
  margin: 10vw 2.67vw 13vw;
  position: relative;
}
#sec2 .group-img .catch {
  position: absolute;
  width: 41.5vw;
  top: -4vw;
  right: 1.2vw;
}
#sec2 .group-img .img {
  position: relative;
  color: #fff;
  text-align: center;
}
#sec2 .group-img .img:after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 10vw;
  background: url("../img/index/s2_icon2.png") no-repeat center/100% auto;
  width: 4.4vw;
  height: 4.4vw;
  margin: 0 auto;
}
#sec2 .group-img .img span {
  position: absolute;
  z-index: 2;
  left: 0;
  right: 0;
  top: 12vw;
}
#sec2 .group-img .img.img1 {
  color: #000;
  width: 49.6vw;
  position: relative;
  z-index: 6;
}
#sec2 .group-img .img.img1:after {
  background-image: url("../img/index/s2_icon.png");
}
#sec2 .group-img .img.img2 {
  margin: -15.2vw 0 0 auto;
  width: 48.4vw;
  position: relative;
  z-index: 5;
}
#sec2 .group-img .img.img3 {
  position: relative;
  z-index: 4;
  width: 49.6vw;
  margin: -12vw 0 0;
}
#sec2 .group-img .img.img4 {
  margin: -17.73vw 0.67vw 0 auto;
  width: 47vw;
  position: relative;
  z-index: 3;
}
#sec2 .group-img .img.img5 {
  width: 49.3vw;
  position: relative;
  z-index: 2;
  margin: -17.2vw 0 0;
}
#sec2 .group-img .img.img5 span {
  top: 8vw;
  line-height: 1.3;
}
#sec2 .group-img .img.img5:after {
  bottom: 8vw;
}

.remodal-sec2 {
  margin: 0 20px;
  width: auto;
  background: #fff;
  padding: 0;
}

.remodal-wrapper {
  padding: 0;
}

.popup-sec2 {
  padding: 28px 0;
  min-height: 800px;
  box-sizing: border-box;
  position: relative;
}
.popup-sec2 .deco1 {
  position: absolute;
  bottom: 114px;
  right: 27px;
  width: 65.5px;
}
.popup-sec2 .deco2 {
  position: absolute;
  width: 106px;
  bottom: 114px;
  right: 19px;
}
.popup-sec2 .deco3 {
  position: absolute;
  width: 65px;
  right: 29.5px;
  bottom: 109px;
}
.popup-sec2 .deco4 {
  position: absolute;
  width: 77px;
  right: 15px;
  bottom: 125.5px;
}
.popup-sec2 .deco5 {
  position: absolute;
  width: 62.5px;
  right: 21px;
  bottom: 95.5px;
}
.popup-sec2 .remodal-close {
  width: 43.5px;
  margin: 0 12px 88px auto;
  position: sticky;
  top: 20px;
}
.popup-sec2 .remodal-close::before {
  display: none;
}
.popup-sec2 .img {
  margin: 0 11px;
}
.popup-sec2 h2 {
  text-align: center;
  font-size: 9vw;
  line-height: 1.5;
  padding: 0 0 12px;
  margin: 6vw 14px 0;
  background: url("../img/shared/ttl_border.png") repeat-x bottom center;
}
.popup-sec2 .txt {
  font-size: 12px;
  line-height: 2.86;
  margin: 10px 0 0;
  letter-spacing: 0;
  text-align: center;
  z-index: 2;
}

#sec3 {
  margin: 6vw 0 27.7vw;
}
#sec3 .set1 {
  margin: 0 2.67vw;
  padding: 12vw 0;
  position: relative;
  z-index: 2;
  background: url("../img/index/s3_line.png") no-repeat top center/100% auto, url("../img/index/s3_line2.png") no-repeat bottom center/100% auto;
}
#sec3 .set1 h2 {
  text-align: center;
  font-size: 6.3vw;
  line-height: 1.83;
  letter-spacing: 0;
  margin: 0 -2.67vw 5vw;
}
#sec3 .set1 .txt {
  margin: 0 2.67vw;
}
#sec3 .set1 .txt + .txt {
  margin-top: 24px;
}
#sec3 .set2 {
  position: relative;
  margin: 12vw 0 0;
}
#sec3 .set2 .deco {
  position: absolute;
  width: 32.5vw;
  top: -21.3vw;
  right: 0;
}
#sec3 .set2 .item + .item {
  margin-top: 12vw;
}
#sec3 .set2 .item h3 {
  margin: 0 0 5vw;
  display: flex;
  align-items: center;
  gap: 11px;
  font-size: 8vw;
  line-height: 1.5;
  letter-spacing: 0.15em;
}
#sec3 .set2 .item h3::before {
  content: "";
  background: url("../img/shared/ttl_border.png");
  height: 2px;
  width: var(--wrapPadding);
}
#sec3 .set2 .item .group-img {
  position: relative;
  margin: 0 0 16vw;
}
#sec3 .set2 .item .gr {
  display: flex;
  align-items: flex-start;
  top: 69.2vw;
  right: 5.2vw;
  position: absolute;
}
#sec3 .set2 .item .gr .img2 {
  width: 33vw;
}
#sec3 .set2 .item .gr .catch {
  width: 22.8vw;
  margin: 4.5vw 0 0 0.6vw;
}
#sec3 .set2 .item .group-content {
  width: 309px;
  position: relative;
  z-index: 2;
  margin: 0 auto;
  max-width: calc(100% - 20px);
}
#sec3 .set2 .item .group-content .txt {
  margin: 5vw 0;
}
#sec3 .set2 .item .group-content .btn-link {
  max-width: 100%;
}
#sec3 .set2 .item.item2 {
  overflow: hidden;
}
#sec3 .set2 .item.item2 .group-img {
  margin: 0 0 29.3vw;
}
#sec3 .set2 .item.item2 .group-img .gr {
  flex-direction: row-reverse;
  right: -5.56vw;
  top: 70.13vw;
}
#sec3 .set2 .item.item2 .group-img .gr .img2 {
  width: 56.4vw;
  margin: 1vw 0 0;
}
#sec3 .set2 .item.item2 .group-img .gr .catch {
  margin: 0 1.2vw 0 0;
  width: 27.3vw;
}
#sec3 .set2 .item.item3 .group-img {
  margin: 0 0 27.3vw;
}
#sec3 .set2 .item.item3 .group-img .gr {
  right: auto;
  left: 2.8vw;
  top: 65.73vw;
}
#sec3 .set2 .item.item3 .group-img .gr .img2 {
  width: 37.3vw;
}
#sec3 .set2 .item.item3 .group-img .gr .catch {
  margin: 8vw 0 0 2.13vw;
  width: 22.4vw;
}
#sec3 .set2 .item.item3 h4{
      text-align: right;
}
#sec3 .set2 .item.item4 .group-img {
  margin: 0 0 21vw;
}
#sec3 .set2 .item.item4 .group-img .gr {
  flex-direction: row-reverse;
  right: 2.4vw;
  top: 68.53vw;
}
#sec3 .set2 .item.item4 .group-img .gr .img2 {
  width: 24.13vw;
  margin: 2.8vw 0 0;
}
#sec3 .set2 .item.item4 .group-img .gr .catch {
  margin: 0 6.267vw 0 0;
  width: 35.6vw;
}

.swing {
  animation-name: anim_s;
  transform: rotate(12.5deg);
  animation-duration: 5s;
  animation-iteration-count: infinite;
}

@keyframes anim_s {
  50% {
    transform: rotate(-12.5deg);
  }
  100% {
    transform: rotate(12.5deg);
  }
}