.mv {
  position: relative
}
.mv__bg {
  height: 364px
}
.mv__bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  overflow: hidden;
  opacity: 0;
  transition: opacity 1.2s ease
}
.mv__inr {
  padding: 104px 0 16px;
  position: absolute;
  top: 0;
  left: 0
}
.mv__contents {
  height: 100%;
  position: relative
}
.mv__ttl {
  position: relative
}
.mv__ttl-main {
  display: grid;
  gap: 7px;
  font-family: "M PLUS 1p",sans-serif;
  font-weight: 700;
  font-size: 3.2rem
}
.mv__ttl-box {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  background-color: #fff;
  border-radius: 4px;
  clip-path: inset(0 100% 0 0);
  transition: clip-path 1s .6s cubic-bezier(.34,1,.36,1);
  padding: 0 6px
}
.mv__ttl-box > span {
  letter-spacing: -.5em
}
.mv__ttl-sub {
  font-family: Figtree,sans-serif;
  font-weight: 500;
  font-size: 1.2rem;
  letter-spacing: .04em;
  color: #fff;
  opacity: 0;
  translate: 0 8px;
  transition: opacity 1s ease,translate 1s ease
}
.mv.is-mv-anime .mv__bg img {
  opacity: 1
}
.mv.is-mv-anime .mv__ttl-box {
  clip-path: inset(0 0 0 0)
}
.mv.is-mv-anime .mv__ttl-box:nth-child(1) {
  transition-delay: 1.1s
}
.mv.is-mv-anime .mv__ttl-box:nth-child(2) {
  transition-delay: 1.45s
}
.mv.is-mv-anime .mv__ttl-sub {
  opacity: 1;
  translate: 0 0;
  transition-delay: 1.9s
}
.mv__topics-link {
  display: flex;
  align-items: flex-end;
  border-radius: 8px;
  padding: 16px 10px 16px 12px
}
.mv__topics-dl {
  display: grid;
  gap: 4px
}
.mv__topics-dl dt {
  font-weight: 700;
  font-size: 1.5rem;
  color: #00818a
}
.mv__topics-dl dd {
  font-weight: 500;
  font-size: 1.3rem;
  line-height: 1.6
}
.mv__topics-arrow {
  display: grid;
  place-content: center;
  width: 20px;
  aspect-ratio: 1/1;
  background-color: #333;
  border-radius: 50%
}
.mv__topics-arrow::before {
  content: "";
  width: 5px;
  aspect-ratio: 7/11;
  background-color: #fff;
  -webkit-mask: url(../img/common/icon_arrow_01.svg) no-repeat center/contain;
  mask: url(../img/common/icon_arrow_01.svg) no-repeat center/contain
}
.hbtnavi__heading {
  display: grid
}
.hbtnavi__heading-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  overflow: hidden
}
.hbtnavi__heading-txt {
  font-size: 1.4rem
}
.hbtnavi__block {
  display: flex;
  justify-content: center
}
.hbtnavi__chart {
  flex-shrink: 0;
  width: 470px;
  max-width: 100%;
  aspect-ratio: 470/421;
  position: relative
}
.hbtnavi__chart-bg {
  width: 57.235%;
  position: absolute;
  top: 52.38%;
  left: 50%;
  translate: -50% -50%
}
.hbtnavi__chart-bg::after,
.hbtnavi__chart-bg::before {
  content: "";
  aspect-ratio: 1/1;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%
}
.hbtnavi__chart-bg::before {
  width: 113.2%;
  background-color: #e7e7e7;
  z-index: 2
}
.hbtnavi__chart-bg::after {
  width: 124.53%;
  background-color: #f7f7f7;
  z-index: 1
}
.hbtnavi__chart-bg > div {
  width: 100%;
  aspect-ratio: 1/1;
  background-color: #e7e7e7;
  border: 1px dashed #fff;
  border-radius: 50%;
  position: relative;
  z-index: 3
}
.hbtnavi__chart-ttl {
  width: -moz-fit-content;
  width: fit-content;
  font-weight: 700;
  font-size: min(2.5rem,5.1282051282vw);
  letter-spacing: .08em;
  line-height: 1.2;
  text-align: center;
  color: #333;
  position: absolute;
  top: 52%;
  left: 50%;
  translate: -50% -50%
}
.hbtnavi__chart-ttl span {
  color: #00818a
}
.hbtnavi__chart-item {
  display: grid;
  place-content: center;
  width: 28.95%;
  aspect-ratio: 1/1;
  font-family: Figtree,sans-serif;
  font-weight: 800;
  font-size: min(1.8rem,3.5897435897vw);
  letter-spacing: .04em;
  line-height: 1.3;
  text-align: center;
  color: #00818a;
  background-color: #fff;
  border: 1.5px solid #00818a;
  border-radius: 50%;
  position: absolute;
  translate: -50% -50%
}
.hbtnavi__chart-item:nth-child(1) {
  top: 16.16%;
  left: 49.95%
}
.hbtnavi__chart-item:nth-child(2) {
  top: 44.63%;
  left: 85.53%
}
.hbtnavi__chart-item:nth-child(3) {
  top: 83.87%;
  left: 69.91%
}
.hbtnavi__chart-item:nth-child(4) {
  top: 83.87%;
  left: 30.17%
}
.hbtnavi__chart-item:nth-child(5) {
  top: 44.63%;
  left: 14.47%
}
.hbtnavi__list {
  display: grid;
  gap: 16px
}
.hbtnavi__item-head {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px
}
.hbtnavi__item-num {
  font-family: Figtree,sans-serif;
  font-weight: 700;
  font-size: 2.1rem;
  line-height: 1;
  color: #00818a
}
.hbtnavi__item-ttl {
  font-weight: 700;
  font-size: 1.7rem;
  line-height: 1
}
.hbtnavi__item-txt {
  font-size: 1.4rem
}
.bnr__list {
  align-items: center
}
.bnr__item {
  height: auto
}
.bnr__link {
  display: block
}
.bnr__link img {
  width: 100%;
  height: auto
}
@media screen and (min-width:768px) {
  .mv {
    overflow: hidden
  }
  .mv__bg {
    height: 600px
  }
  .mv__inr {
    padding: 168px 0 16px;
    inset: 0
  }
  .mv__ttl-main {
    gap: 10px;
    font-size: 5rem
  }
  .mv__ttl-box:nth-child(2) {
    margin-left: 164px;
    padding: 0 8px
  }
  .mv__ttl-sub {
    font-size: 1.6rem;
    position: absolute;
    bottom: 0;
    left: 0
  }
  .mv__topics {
    width: 100%;
    position: absolute;
    bottom: 24px;
    right: 0
  }
  .mv__topics-link {
    width: -moz-fit-content;
    width: fit-content;
    background-color: #fff;
    padding: 16px 12px 16px 16px;
    margin-left: auto
  }
  .mv__topics-arrow {
    width: 21px
  }
  .mv__topics-arrow::before {
    width: 6px
  }
  .hbtnavi__heading {
    grid-template-columns: 1fr 32.7%;
    align-items: center;
    gap: 32px
  }
  .hbtnavi__heading-txt {
    font-size: 1.5rem
  }
  .hbtnavi__block {
    align-items: center;
    flex-wrap: wrap;
    gap: 40px min(64px,6.4vw)
  }
  .hbtnavi__chart-ttl {
    font-size: 2.4rem
  }
  .hbtnavi__chart-item {
    font-size: 1.6rem
  }
  .hbtnavi__item-ttl {
    font-size: 2rem
  }
}
@media screen and (max-width:767px) {
  .mv__ttl-sub {
    margin-top: 7px
  }
  .mv__topics-link {
    justify-content: space-between;
    border: 1px solid #dadada
  }
  .hbtnavi__heading-body {
    display: contents
  }
  .hbtnavi__heading-img {
    order: 3
  }
  .hbtnavi__heading-txt {
    order: 4
  }
  .hbtnavi__block {
    flex-direction: column;
    align-items: center;
    gap: 40px
  }
}
@media (prefers-reduced-motion:reduce) {
  .mv__bg img,
  .mv__ttl-box,
  .mv__ttl-sub {
    opacity: 1;
    translate: 0 0;
    clip-path: none;
    transition: none
  }
}