.p-Institution__Name {
  font-family: "M PLUS Rounded 1c";
  color: #2B2B2B;
  line-height: 1.58333;
  font-weight: 400;
  letter-spacing: 0.05em;
}

.p-Mainvisual {
  margin-left: calc(var(--inner-padding, 0) * -1);
  margin-right: calc(var(--inner-padding, 0) * -1);
  position: relative;
}

.p-Mainvisual__Body {
  display: grid;
  grid-template-columns: 50% 50%;
}

.p-Mainvisual__Card {
  display: grid;
  position: relative;
  align-items: center;
  transition: -webkit-filter 0.2s ease;
  transition: filter 0.2s ease;
  transition: filter 0.2s ease, -webkit-filter 0.2s ease;
  color: #fff;
  text-align: center;
}

.p-Mainvisual__Institution {
  grid-column: 1;
  grid-row: 1;
  position: relative;
  z-index: 2;
  display: flex;
  flex-flow: column;
  align-items: center;
}

.p-Mainvisual__Institution::before {
  content: '';
  display: block;
  height: 1px;
  width: 15.62vw;
  background: #fff;
  margin-top: .34vw;
  order: 3;
}

.p-Mainvisual__Area {
  font-family: "M PLUS Rounded 1c";
  font-size: 1.11vw;
  order: 1;
}

.p-Mainvisual__Name {
  font-family: "M PLUS Rounded 1c";
  font-size: 2.5vw;
  line-height: 1.4;
  order: 2;
}

.p-Mainvisual__More {
  display: flex;
  align-items: center;
  gap: .69vw;
  line-height: 1;
  order: 4;
  margin-top: .69vw;
  font-size: .97vw;
}

.p-Mainvisual__More::before {
  content: '';
  display: block;
  -webkit-clip-path: polygon(0 0, 100% 50%, 0 100%);
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  width: .41vw;
  height: .48vw;
  background-color: #fff;
  flex-shrink: 0;
}

.p-Mainvisual__Image {
  overflow: hidden;
  grid-column: 1;
  grid-row: 1;
}

.p-Mainvisual__Copy {
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  z-index: 2;
  font-size: 4.16vw;
  font-family: "M PLUS Rounded 1c";
  color: rgba(255,255,255,0.65);
  white-space: nowrap;
  pointer-events: none;
  -webkit-filter: drop-shadow(0 10px 10px rgba(0,0,0,0.1));
  filter: drop-shadow(0 10px 10px rgba(0,0,0,0.1));
}

.p-Mainvisual__Slider {
  overflow: hidden;
}

.p-Mainvisual__Slider .swiper-wrapper {
  display: flex;
}

.p-Mainvisual__Slider .swiper-slide {
  flex-shrink: 0;
  width: 100%;
}

.p-Mainvisual__Item {
  overflow: hidden;
}

.p-Mainvisual__Item.-Left img {
  -webkit-transform: translateX(2%) scale(1.1);
  transform: translateX(2%) scale(1.1);
}

.swiper-slide-prev .p-Mainvisual__Item.-Left img,
.swiper-slide-duplicate-active .p-Mainvisual__Item.-Left img,
.swiper-slide-active .p-Mainvisual__Item.-Left img {
  -webkit-animation: slider-left 5s linear forwards;
  animation: slider-left 5s linear forwards;
}

.p-Mainvisual__Item.-Right img {
  -webkit-transform: translateX(-2%) scale(1.1);
  transform: translateX(-2%) scale(1.1);
}

.swiper-slide-prev .p-Mainvisual__Item.-Right img,
.swiper-slide-duplicate-active .p-Mainvisual__Item.-Right img,
.swiper-slide-active .p-Mainvisual__Item.-Right img {
  -webkit-animation: slider-right 5s linear forwards;
  animation: slider-right 5s linear forwards;
}

.p-Mainvisual__Item.-Top img {
  -webkit-transform: translateY(2%) scale(1.1);
  transform: translateY(2%) scale(1.1);
}

.swiper-slide-prev .p-Mainvisual__Item.-Top img,
.swiper-slide-duplicate-active .p-Mainvisual__Item.-Top img,
.swiper-slide-active .p-Mainvisual__Item.-Top img {
  -webkit-animation: slider-top 5s linear forwards;
  animation: slider-top 5s linear forwards;
}

.p-Mainvisual__Item.-Bottom img {
  -webkit-transform: translateY(-2%) scale(1.1);
  transform: translateY(-2%) scale(1.1);
}

.swiper-slide-prev .p-Mainvisual__Item.-Bottom img,
.swiper-slide-duplicate-active .p-Mainvisual__Item.-Bottom img,
.swiper-slide-active .p-Mainvisual__Item.-Bottom img {
  -webkit-animation: slider-bottom 5s linear forwards;
  animation: slider-bottom 5s linear forwards;
}

@-webkit-keyframes slider-left {
  from {
    -webkit-transform: translateX(2%) scale(1.1);
    transform: translateX(2%) scale(1.1);
  }

  to {
    -webkit-transform: translateX(-2%) scale(1.1);
    transform: translateX(-2%) scale(1.1);
  }
}

@keyframes slider-left {
  from {
    -webkit-transform: translateX(2%) scale(1.1);
    transform: translateX(2%) scale(1.1);
  }

  to {
    -webkit-transform: translateX(-2%) scale(1.1);
    transform: translateX(-2%) scale(1.1);
  }
}

@-webkit-keyframes slider-right {
  from {
    -webkit-transform: translateX(-2%) scale(1.1);
    transform: translateX(-2%) scale(1.1);
  }

  to {
    -webkit-transform: translateX(2%) scale(1.1);
    transform: translateX(2%) scale(1.1);
  }
}

@keyframes slider-right {
  from {
    -webkit-transform: translateX(-2%) scale(1.1);
    transform: translateX(-2%) scale(1.1);
  }

  to {
    -webkit-transform: translateX(2%) scale(1.1);
    transform: translateX(2%) scale(1.1);
  }
}

@-webkit-keyframes slider-top {
  from {
    -webkit-transform: translateY(2%) scale(1.1);
    transform: translateY(2%) scale(1.1);
  }

  to {
    -webkit-transform: translateY(-2%) scale(1.1);
    transform: translateY(-2%) scale(1.1);
  }
}

@keyframes slider-top {
  from {
    -webkit-transform: translateY(2%) scale(1.1);
    transform: translateY(2%) scale(1.1);
  }

  to {
    -webkit-transform: translateY(-2%) scale(1.1);
    transform: translateY(-2%) scale(1.1);
  }
}

@-webkit-keyframes slider-bottom {
  from {
    -webkit-transform: translateY(-2%) scale(1.1);
    transform: translateY(-2%) scale(1.1);
  }

  to {
    -webkit-transform: translateY(2%) scale(1.1);
    transform: translateY(2%) scale(1.1);
  }
}

@keyframes slider-bottom {
  from {
    -webkit-transform: translateY(-2%) scale(1.1);
    transform: translateY(-2%) scale(1.1);
  }

  to {
    -webkit-transform: translateY(2%) scale(1.1);
    transform: translateY(2%) scale(1.1);
  }
}

.p-Institution__Image {
  margin-left: calc(var(--inner-padding, 0) * -1);
  margin-right: calc(var(--inner-padding, 0) * -1);
}

.p-Institution__Body {
  margin-top: -8.75rem;
  position: relative;
  z-index: 1;
}

.p-Institution__Box {
  background: #fff;
  border-radius: 1.25rem;
  padding: 3.12rem 4.68rem 3.12rem 6.56rem;
  display: grid;
  grid-template-columns: 1fr 18.75rem;
  gap: 5.31rem;
  align-items: center;
  box-shadow: 1.87rem 1.87rem 3.75rem rgba(0,0,0,0.16);
}

.p-Institution__Area {
  font-size: 1.12rem;
}

.p-Institution__Name {
  font-size: 2.62rem;
}

.p-Institution__Text {
  margin-top: .62rem;
  font-size: .87rem;
}

.p-Institution__List {
  margin-top: 1.25rem;
  display: flex;
  flex-wrap: wrap;
  gap: 1.25rem 3.12rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
}

.p-Feature {
  margin-left: calc(var(--inner-padding, 0) * -1);
  margin-right: calc(var(--inner-padding, 0) * -1);
  padding-left: var(--inner-padding);
  padding-right: var(--inner-padding);
  background: #EAF2F4;
  padding-top: 6.25rem;
  padding-bottom: 6.25rem;
}

@media screen and (min-width: 1024.1px) {
  .p-Mainvisual__Body:hover .p-Mainvisual__Card:not(:hover) {
    -webkit-filter: brightness(0.8);
    filter: brightness(0.8);
  }

  .p-Mainvisual__Body:hover .p-Mainvisual__Card:hover {
    -webkit-filter: brightness(1.1);
    filter: brightness(1.1);
  }
}

@media screen and (max-width: 767px) {
  .p-Mainvisual__Body {
    grid-template-columns: 100%;
  }

  .p-Mainvisual__Institution::before {
    width: 9.37rem;
    margin-top: .31rem;
  }

  .p-Mainvisual__Area {
    font-size: .81rem;
  }

  .p-Mainvisual__Name {
    font-size: 1.75rem;
  }

  .p-Mainvisual__More {
    gap: .62rem;
    margin-top: .62rem;
    font-size: .87rem;
  }

  .p-Mainvisual__More::before {
    width: .37rem;
    height: .43rem;
  }

  .p-Mainvisual__Copy {
    bottom: 50%;
    -webkit-transform: translate(-50%, 50%);
    transform: translate(-50%, 50%);
    font-size: 1.87rem;
    text-align: center;
  }

  .p-Institution__Body {
    margin-top: -1.25rem;
  }

  .p-Institution__Box {
    grid-template-columns: 100%;
    gap: 1.87rem;
    padding: 1.87rem;
  }

  .p-Institution__Column2 {
    width: 15rem;
    margin-left: auto;
    margin-right: auto;
  }

  .p-Institution__Area {
    text-align: center;
    font-size: .87rem;
  }

  .p-Institution__Name {
    text-align: center;
    font-size: 1.5rem;
  }

  .p-Feature {
    padding-top: 3.12rem;
    padding-bottom: 4.37rem;
  }
}