  @keyframes fadeIn {
  from {
    opacity: 0
  }
  to {
    opacity: 1
  }
}
@keyframes zoomOut {
  from {
    transform: scale(1.15)
  }
  to {
    transform: scale(1)
  }
}
.mv-slider {
  width: 100%
}
.mv-slide {
  position: relative
}
.mv-slide__image {
  overflow: hidden
}
@media print,
screen and (min-width: 768px) {
  .mv-slide__image {
    height: 600px
  }
}
@media screen and (max-width: 767.98px) {
  .mv-slide__image {
    height: 234px
  }
}
.mv-slide__image img {
  object-fit: cover;
  width: 100%;
  height: 100%
}
@media print,
screen and (min-width: 768px) {
  .mv-slide__contents {
    width: 100%;
    padding-inline: 183px;
    position: absolute;
    top: 64px;
    left: 0;
    z-index: 2
  }
}
@media screen and (max-width: 767.98px) {
  .mv-slide__contents {
    display: contents
  }
}
@media screen and (min-width: 768px)and (max-width: 1024px) {
  .mv-slide__contents {
    padding-inline: 7.8125%
  }
}
.mv-slide__catch {
  font-family: YakuHanMP, "Noto Serif JP", serif;
  letter-spacing: .04em;
  color: #0054ac
}
@media print,
screen and (min-width: 768px) {
  .mv-slide__catch {
    font-size: 2.25rem;
    line-height: 1.333
  }
}
@media screen and (max-width: 767.98px) {
  .mv-slide__catch {
    font-size: 1.3125rem;
    position: absolute;
    top: 48px;
    left: 5.3333333333%
  }
}
.mv-slide__text {
  font-family: YakuHanMP, "Noto Serif JP", serif;
  letter-spacing: .04em
}
@media print,
screen and (min-width: 768px) {
  .mv-slide__text {
    font-size: 1rem;
    margin-top: 26px
  }
}
@media screen and (max-width: 767.98px) {
  .mv-slide__text {
    text-align: center;
    font-size: .875rem;
    padding-inline: 20px;
    margin-top: 16px
  }
}
.mv-slide__message {
  font-family: YakuHanRP,
    "Zen Maru Gothic",
    sans-serif;
  letter-spacing: .04em;
  color: #0054ac
}
@media print,
screen and (min-width: 768px) {
  .mv-slide__message {
    font-size: 1.25rem;
    margin-top: 25px
  }
}
@media screen and (max-width: 767.98px) {
  .mv-slide__message {
    text-align: center;
    font-size: 1.125rem;
    /* padding-inline: 20px; */
    margin-top: 16px
  }
}
@media print,
screen and (min-width: 768px) {
  .mv-slide__button {
    max-width: 400px;
    margin-top: 24px
  }
}
@media screen and (max-width: 767.98px) {
  .mv-slide__button {
    width: 80%;
    margin: 24px auto 0
  }
}
@media print,
screen and (min-width: 768px) {
  .mv-slide.swiper-slide-active .mv-slide__contents {
    opacity: 0;
    animation-name: fadeIn;
    animation-duration: 3s;
    animation-delay: 1s;
    animation-fill-mode: forwards
  }
}
@media screen and (max-width: 767.98px) {
  .mv-slide.swiper-slide-active .mv-slide__catch {
    opacity: 0;
    animation-name: fadeIn;
    animation-duration: 3s;
    animation-delay: 1s;
    animation-fill-mode: forwards
  }
}
.mv-slide.swiper-slide-active .mv-slide__image img,
.mv-slide.swiper-slide-duplicate-active .mv-slide__image img,
.mv-slide.swiper-slide-prev .mv-slide__image img {
  animation: zoomOut 12s linear 0s 1 normal both
}
.swiper-pagination {
  position: relative;
  top: 0 !important
}
@media print,
screen and (min-width: 768px) {
  .swiper-pagination {
    margin-top: 16px
  }
}
@media screen and (max-width: 767.98px) {
  .swiper-pagination {
    padding-top: 16px;
    border-top: solid 1px #ccc;
    margin-top: 24px
  }
}
.swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  background-color: #fff;
  border: solid 1px #ccc;
  opacity: 1
}
.swiper-pagination-bullet-active {
  background-color: #db7499;
  border: none
}
.main-title {
  font-family: YakuHanMP, "Noto Serif JP", serif;
  text-align: center;
  letter-spacing: .04em;
  color: #000;
  margin-top: 32px
}
@media print,
screen and (min-width: 768px) {
  .main-title {
    font-size: 1.25rem
  }
}
@media screen and (max-width: 767.98px) {
  .main-title {
    font-size: 1.125rem
  }
}
.section__heading {
  text-align: center
}
@media print,
screen and (min-width: 768px) {
  .section__contents {
    margin-top: 48px
  }
}
@media screen and (max-width: 767.98px) {
  .section__contents {
    margin-top: 32px
  }
}
.section__button {
  margin-inline: auto
}
@media print,
screen and (min-width: 768px) {
  .section__button {
    max-width: 400px;
    margin-top: 48px
  }
}
@media screen and (max-width: 767.98px) {
  .section__button {
    width: 80%;
    margin-top: 40px
  }
}
@media print,
screen and (min-width: 768px) {
  .c-video-description {
    max-width: 840px;
    width: 100%;
    margin: 54px auto 0;
    padding-top: 72px;
    background: url("/service/assets/images/top/img_decoration_pc.png") no-repeat;
    background-position: top -88px center
  }
}
@media screen and (max-width: 767.98px) {
  .c-video-description {
    background: url("/service/assets/images/top/img_decoration_sp.png") no-repeat;
    background-position: top -68px center;
    margin-top: 48px
  }
}
.c-video-description__movie-button {
  position: relative;
  transition: opacity .3s
}
@media(hover: hover) {
  .c-video-description__movie-button:not(.is-disabled-hover):hover {
    opacity: .8
  }
}
@media print,
screen and (min-width: 768px) {
  .c-video-description__movie-button {
    margin-top: 40px
  }
}
@media screen and (max-width: 767.98px) {
  .c-video-description__movie-button {
    display: block;
    margin: 16px auto 0
  }
}
.c-video-description__movie-button::before {
  content: url("/assets/images/icon/play_blue.svg");
  position: absolute;
  top: 50%;
  left: 50%;
  width: 80px;
  height: 80px;
  transform: translate(-50%, -50%)
}
.c-video-description__picture {
  display: block
}
.c-video-description__button {
  margin-inline: auto
}
@media print,
screen and (min-width: 768px) {
  .c-video-description__button {
    max-width: 400px;
    width: 100%;
    margin-top: 60px
  }
}
@media screen and (max-width: 767.98px) {
  .c-video-description__button {
    width: 80%;
    margin-top: 40px
  }
}
.health-insurance-heading {
  font-family: YakuHanMP, "Noto Serif JP", serif;
  text-align: center;
  line-height: 1.75;
  letter-spacing: .04em
}
@media print,
screen and (min-width: 768px) {
  .health-insurance-heading {
    font-size: 2rem
  }
}
@media screen and (max-width: 767.98px) {
  .health-insurance-heading {
    font-size: 1.5rem
  }
}
.health-insurance-heading span {
  color: #b52b5d
}
.health-insurance-note {
  font-family: "Zen Kaku Gothic New", sans-serif;
  text-align: center;
  letter-spacing: .04em
}
@media print,
screen and (min-width: 768px) {
  .health-insurance-note {
    font-size: 1.125rem;
    line-height: 1.444;
    margin-top: 48px
  }
}
@media screen and (max-width: 767.98px) {
  .health-insurance-note {
    font-size: 1rem;
    line-height: 1.5;
    margin-top: 32px
  }
}
.search-store-button {
  margin-inline: auto
}
@media print,
screen and (min-width: 768px) {
  .search-store-button {
    max-width: 600px
  }
}
@media screen and (max-width: 767.98px) {
  .search-store-button {
    width: 80%
  }
}
.horizontal-banner {
  display: flex;
  width: 100%
}
@media print,
screen and (min-width: 768px) {
  .horizontal-banner {
    gap: 24px;
    margin-top: 80px
  }
}
@media screen and (max-width: 767.98px) {
  .horizontal-banner {
    flex-direction: column;
    gap: 32px;
    margin-top: 42px
  }
}
.horizontal-banner__link {
  display: flex;
  width: 100%
}
.banner {
  display: block;
  margin-inline: auto
}
@media print,
screen and (min-width: 768px) {
  .banner {
    max-width: 768px;
    margin-top: 40px
  }
}
@media screen and (max-width: 767.98px) {
  .banner {
    margin-top: 32px
  }
}