.area_kv {
  background: url(../img/kv/achievements_pc.jpg) no-repeat center top;
  background-size: cover;
}
@media screen and (max-width: 768px) {
  .area_kv {
    background: url(../img/kv/achievements_sp.jpg) no-repeat center top;
    background-size: cover;
  }
}

.bg_mark {
  padding-bottom: 0;
}
.bg_mark .ol_breadcrumb {
  padding-bottom: 75px;
}
@media screen and (max-width: 768px) {
  .bg_mark {
    padding: 2.5em 0 0;
  }
}

.tit_under {
  margin-bottom: 65px;
}

.box_achievements {
  padding-bottom: 65px;
}
.box_achievements:nth-of-type(n+2) {
  padding: 65px 0;
  border-top: 1px solid #ccc;
}
.box_achievements .title,
.box_achievements .txt_lead {
  text-align: center;
}
.box_achievements .title {
  font-size: 30px;
  color: #ba006d;
}
.box_achievements .txt_lead {
  margin-top: 18px;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.8;
}

.box_image {
  width: 550px;
  margin: 40px auto 0;
  position: relative;
}

.swiperMain .swiper-slide,
.swiperThumbnail .swiper-slide {
  background: #fff;
  border: 1px solid #ccc;
}
.swiperMain .swiper-slide img,
.swiperThumbnail .swiper-slide img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: 50% 50%;
     object-position: 50% 50%;
}

.swiperMain {
  width: 100%;
  height: 550px;
  margin-inline: auto;
  overflow: visible;
}

.swiperThumbnail {
  margin-top: 30px;
}
.swiperThumbnail .swiper-slide {
  width: 83px !important;
  height: 83px !important;
  cursor: pointer;
}
.swiperThumbnail .swiper-slide.swiper-slide-thumb-active {
  position: relative;
  border: 1px solid #ba006d;
}
.swiperThumbnail .swiper-slide.swiper-slide-thumb-active::before {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  -webkit-box-shadow: 0px 0px 0px 2px #ba006d inset;
          box-shadow: 0px 0px 0px 2px #ba006d inset;
}

.my-button-prev,
.my-button-next {
  margin-top: 0;
}

.flex_wrap {
  margin-top: 50px;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.flex_wrap .box_spec,
.flex_wrap .box_entry {
  width: 50%;
}
@media screen and (max-width: 1023px) {
  .flex_wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .flex_wrap .box_spec,
  .flex_wrap .box_entry {
    width: 100%;
  }
  .flex_wrap .box_entry {
    margin-top: 50px;
  }
}

.dl_spec {
  width: 86.6666666667%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  border-top: 1px solid #ccc;
}
.dl_spec dt, .dl_spec dd {
  padding-top: 23px;
  padding-bottom: 23px;
  border-bottom: 1px solid #ccc;
}
.dl_spec dt {
  width: 160px;
  padding-left: 20px;
  background: #f5f5f5;
  font-weight: 700;
}
.dl_spec dd {
  width: calc(100% - 160px);
  padding-left: 30px;
}
@media screen and (max-width: 1023px) {
  .dl_spec {
    width: 100%;
  }
}

.box_entry * + h4 {
  margin-top: 50px;
}
.box_entry p {
  line-height: 2.3;
}
.box_entry h4 {
  margin-bottom: 18px;
  padding-left: 18px;
  font-size: 24px;
  font-weight: 700;
  position: relative;
  line-height: 1.2;
  letter-spacing: 0.1em;
}
.box_entry h4::before {
  content: "";
  display: block;
  width: 3px;
  height: 100%;
  background: #ba006d;
  position: absolute;
  top: 0;
  left: 0;
}

@media screen and (max-width: 768px) {
  .tit_under {
    margin-bottom: 2em;
  }
  .box_achievements {
    padding-bottom: 4em;
  }
  .box_achievements:nth-of-type(n+2) {
    padding: 4em 0;
  }
  .box_achievements .title {
    font-size: min(4.8vw, 36px);
  }
  .box_achievements .txt_lead {
    margin-top: 1.7em;
    font-size: min(2.9333333333vw, 22px);
  }
  .box_image {
    width: 84vw;
    margin: 1.55em auto 0;
  }
  .swiperMain {
    height: 84vw;
  }
  .swiperThumbnail {
    margin-top: 0.5em;
  }
  .swiperThumbnail .swiper-slide {
    width: min(12.4vw, 93px) !important;
    height: min(12.4vw, 93px) !important;
  }
  .swiperThumbnail .swiper-slide.swiper-slide-thumb-active::before {
    -webkit-box-shadow: 0px 0px 0px 1px #ba006d inset;
            box-shadow: 0px 0px 0px 1px #ba006d inset;
  }
  .my-button-prev,
  .my-button-next {
    width: min(10.6666666667vw, 80px);
    height: min(10.6666666667vw, 80px);
    padding-left: 5px;
  }
  .my-button-prev::before,
  .my-button-next::before {
    font-size: min(5.0666666667vw, 38px);
  }
  .my-button-next {
    right: -1.4em;
  }
  .my-button-prev {
    left: -1.4em;
    top: calc(50% - min(5.3333333333vw, 40px));
  }
  .flex_wrap {
    margin-top: 1.9em;
  }
  .dl_spec dt, .dl_spec dd {
    padding-top: 0.96em;
    padding-bottom: 0.96em;
  }
  .dl_spec dt {
    width: 30.7246376812%;
    padding-left: 1em;
  }
  .dl_spec dd {
    width: 69.2753623188%;
    padding-left: 1em;
  }
  .flex_wrap .box_entry {
    margin-top: 2.2em;
  }
  .flex_wrap .box_entry * + h4 {
    margin-top: 1.7em;
  }
  .flex_wrap .box_entry p {
    line-height: 2;
  }
  .flex_wrap .box_entry h4 {
    margin-bottom: 1.3em;
    padding-left: 1em;
    font-size: min(5.0666666667vw, 38px);
  }
}
.area_category {
  margin-top: 23px;
  padding: 60px 0 120px;
  background: rgba(186, 0, 109, 0.1);
}
.area_category .title {
  font-size: 30px;
  text-align: center;
}
.area_category .ul_category {
  margin-top: 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: min(2.2727272727vw, 30px) min(3.0303030303vw, 40px);
}
.area_category .ul_category li {
  width: calc((100% - min(3.0303030303vw, 40px)) / 2);
}
.area_category .ul_category li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #fff;
  position: relative;
}
.area_category .ul_category li a::after {
  content: "\f054";
  font-family: "Font Awesome 5 Free";
  font-weight: bold;
  width: 30px;
  height: 30px;
  display: inline-block;
  background: #ba006d;
  font-size: 11px;
  padding-left: 0.2em;
  text-align: center;
  line-height: 30px;
  border-radius: 50%;
  color: #fff;
  position: absolute;
  right: 30px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}
@media (hover: hover) {
  .area_category .ul_category li a:hover::after {
    right: 20px;
  }
  .area_category .ul_category li a:hover .img img {
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
  }
}
.area_category .ul_category li .img {
  width: 36.8965517241%;
  aspect-ratio: 214/160;
  position: relative;
  overflow: hidden;
}
.area_category .ul_category li .img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 50% 50%;
     object-position: 50% 50%;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
  -webkit-transform: scale(1);
          transform: scale(1);
}
.area_category .ul_category li .name {
  padding-left: 30px;
  font-size: 20px;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .area_category {
    margin-top: 1em;
    padding: 2.6em 0 5em;
  }
  .area_category .title {
    font-size: min(5.0666666667vw, 38px);
  }
  .area_category .ul_category {
    margin-top: 2em;
    gap: 1em;
  }
  .area_category .ul_category li {
    width: 100%;
  }
  .area_category .ul_category li a::after {
    width: min(4.8vw, 36px);
    height: min(4.8vw, 36px);
    font-size: min(2.1333333333vw, 16px);
    line-height: min(4.8vw, 36px);
    right: 2em;
  }
  .area_category .ul_category li .name {
    padding-left: 1em;
    font-size: min(4vw, 30px);
    font-weight: 700;
  }
}