.top-mainvisual {
  font-family: "Noto Sans JP", sans-serif;
  position: relative;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}
@media screen and (max-width: 767px) {
  .top-mainvisual {
    padding: 2.1333333333vw;
    overflow: hidden;
  }
}
.top-mainvisual::before, .top-mainvisual::after {
  content: "";
  display: block;
  position: absolute;
  height: 100%;
  top: 0;
  z-index: -1;
}
.top-mainvisual::before {
  aspect-ratio: 1216/1040;
  background: url(../img/top/bg_main-visual_01_pc.jpg) no-repeat center/contain;
  left: 0;
}
@media screen and (max-width: 767px) {
  .top-mainvisual::before {
    display: none;
  }
}
.top-mainvisual::after {
  aspect-ratio: 1570/1040;
  background: url(../img/top/bg_main-visual_02_pc.jpg) no-repeat center/contain;
  right: 0;
}
@media screen and (max-width: 767px) {
  .top-mainvisual::after {
    background-size: cover;
  }
}

.top-mainvisual .inner {
  align-items: flex-start;
  background: url(../img/top/bg_main-visual_03_pc.png) no-repeat center/cover;
  max-width: 680px;
  width: 100%;
  display: flex;
  justify-content: center;
  min-height: 520px;
  padding: 28px 20px 20px;
}
@media screen and (max-width: 767px) {
  .top-mainvisual .inner {
    background-image: url(../img/top/bg_main-visual_03_sp.png);
    padding: 4.2666666667vw 0;
  }
}

@media screen and (max-width: 767px) {
  .top-mainvisual__contents {
    display: flex;
    flex-direction: column;
  }
}

.top-mainvisual__area-text {
  font-weight: 700;
  line-height: 1.5;
  font-size: 22px;
  letter-spacing: 0.04em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .top-mainvisual__area-text {
    font-size: 4.8vw;
  }
}
.top-mainvisual__area-text-primary {
  color: #eb6600;
}
.top-mainvisual__area-text-number {
  font-size: 30px;
  letter-spacing: 0;
  line-height: 1;
  position: relative;
  bottom: -2px;
  padding-right: 2px;
}
@media screen and (max-width: 767px) {
  .top-mainvisual__area-text-number {
    font-size: 6.9333333333vw;
    bottom: -0.5333333333vw;
    padding-right: 0.5333333333vw;
  }
}
.top-mainvisual__area-text-prefectures {
  font-size: 24px;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .top-mainvisual__area-text-prefectures {
    font-size: 5.3333333333vw;
  }
}
.top-mainvisual__area-text-punctuation {
  font-weight: 400;
}

.top-mainvisual__ttl {
  display: flex;
  align-items: center;
  flex-direction: column;
  line-height: 1.5;
  gap: 6px;
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  .top-mainvisual__ttl {
    display: inline-block;
    margin-top: 1.0666666667vw;
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  .top-mainvisual__ttl * {
    display: inline !important;
  }
}
.top-mainvisual__ttl-modifier {
  display: flex;
  align-items: flex-end;
  gap: 6px;
}
@media screen and (max-width: 767px) {
  .top-mainvisual__ttl-modifier {
    flex-direction: column;
    align-items: center;
  }
}
.top-mainvisual__ttl-highlight {
  font-size: 40px;
  letter-spacing: 0.02em;
  color: #eb6600;
  padding: 2px 12px;
  background-image: linear-gradient(360deg, #ffebd6 0%, rgba(255, 235, 214, 0.3) 100%);
}
@media screen and (max-width: 767px) {
  .top-mainvisual__ttl-highlight {
    font-size: 8.5333333333vw;
    padding: 0.5333333333vw 3.2vw;
    display: inline-block !important;
    margin: 1.0666666667vw auto;
  }
}
.top-mainvisual__ttl-text {
  font-size: 32px;
  text-shadow: 0 0 10px white;
}
@media screen and (max-width: 767px) {
  .top-mainvisual__ttl-text {
    font-size: 7.4666666667vw;
    letter-spacing: 0.04em;
  }
}
.top-mainvisual__ttl-text--type01 {
  letter-spacing: 0;
  position: relative;
  bottom: 4px;
}
@media screen and (max-width: 767px) {
  .top-mainvisual__ttl-text--type01 {
    bottom: 0;
  }
}
.top-mainvisual__ttl-text--type02 {
  letter-spacing: 0.04em;
}
.top-mainvisual__ttl-prefectures {
  font-weight: 400;
}

.top-mainvisual__plan {
  margin-top: 12px;
  display: grid;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .top-mainvisual__plan {
    margin-top: 2.1333333333vw;
  }
}
.top-mainvisual__plan-inner {
  position: relative;
}
.top-mainvisual__plan-inner::before {
  content: "";
  display: block;
  background-color: rgba(180, 169, 58, 0.8);
  width: 100%;
  height: 100%;
  position: absolute;
  mix-blend-mode: color-dodge;
}
.top-mainvisual__plan-inner::after {
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  width: 61px;
  aspect-ratio: 122/160;
  background-image: url(../img/top/img_main-visual_report.png);
  position: absolute;
  top: -36px;
  right: -36px;
}
@media screen and (max-width: 767px) {
  .top-mainvisual__plan-inner::after {
    top: inherit;
    bottom: -1.8666666667vw;
    right: -5.3333333333vw;
  }
}
.top-mainvisual__plan-overview {
  position: relative;
  display: flex;
  gap: 8px;
  padding: 12px 20px 12px 12px;
}
@media screen and (max-width: 767px) {
  .top-mainvisual__plan-overview {
    padding: 3.2vw 7.4666666667vw 3.2vw 5.3333333333vw;
    flex-direction: column;
    align-items: flex-start;
  }
}
.top-mainvisual__plan-catch {
  display: flex;
  align-items: flex-end;
  gap: 24px;
}
@media screen and (max-width: 767px) {
  .top-mainvisual__plan-catch {
    gap: 6.4vw;
  }
}
.top-mainvisual__plan-description {
  color: #444;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .top-mainvisual__plan-description {
    font-size: 4.2666666667vw;
  }
}
.top-mainvisual__plan-note {
  text-align: right;
  margin-top: 8px;
}
@media screen and (max-width: 767px) {
  .top-mainvisual__plan-note {
    margin-top: 2.1333333333vw;
    text-align: left;
  }
}

.top-mainvisual__price {
  align-items: baseline;
  display: flex;
  line-height: 1;
}
.top-mainvisual__price-number, .top-mainvisual__price-comma {
  font-family: "Open Sans", sans-serif;
  font-weight: 700;
}
.top-mainvisual__price-unit-group {
  margin-left: 0.25em;
  display: flex;
  flex-direction: column-reverse;
}
.top-mainvisual__price-unit, .top-mainvisual__price-off {
  font-weight: 700;
}
.top-mainvisual__price-number[data-content*="1"] {
  letter-spacing: -0.04em;
}
.top-mainvisual__price.top-mainvisual__list-price {
  color: #555;
}
.top-mainvisual__price.top-mainvisual__list-price .top-mainvisual__price-number {
  font-size: 26px;
}
@media screen and (max-width: 767px) {
  .top-mainvisual__price.top-mainvisual__list-price .top-mainvisual__price-number {
    font-size: 6.9333333333vw;
  }
}
.top-mainvisual__price.top-mainvisual__list-price .top-mainvisual__price-comma {
  font-size: 22px;
}
@media screen and (max-width: 767px) {
  .top-mainvisual__price.top-mainvisual__list-price .top-mainvisual__price-comma {
    font-size: 5.8666666667vw;
  }
}
.top-mainvisual__price.top-mainvisual__list-price .top-mainvisual__price-unit {
  font-size: 16px;
}
@media screen and (max-width: 767px) {
  .top-mainvisual__price.top-mainvisual__list-price .top-mainvisual__price-unit {
    font-size: 4.2666666667vw;
  }
}
.top-mainvisual__price.top-mainvisual__special-offer-price {
  color: #eb6600;
  align-items: center;
}
.top-mainvisual__price.top-mainvisual__special-offer-price .top-mainvisual__price-number {
  font-size: 36px;
}
@media screen and (max-width: 767px) {
  .top-mainvisual__price.top-mainvisual__special-offer-price .top-mainvisual__price-number {
    font-size: 9.6vw;
  }
}
.top-mainvisual__price.top-mainvisual__special-offer-price .top-mainvisual__price-comma {
  font-size: 28px;
}
@media screen and (max-width: 767px) {
  .top-mainvisual__price.top-mainvisual__special-offer-price .top-mainvisual__price-comma {
    font-size: 7.4666666667vw;
  }
}
.top-mainvisual__price.top-mainvisual__special-offer-price .top-mainvisual__price-unit {
  font-size: 20px;
}
@media screen and (max-width: 767px) {
  .top-mainvisual__price.top-mainvisual__special-offer-price .top-mainvisual__price-unit {
    font-size: 5.3333333333vw;
  }
}
.top-mainvisual__price.top-mainvisual__special-offer-price .top-mainvisual__price-dash {
  font-size: 20px;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .top-mainvisual__price.top-mainvisual__special-offer-price .top-mainvisual__price-dash {
    font-size: 5.3333333333vw;
  }
}
.top-mainvisual__price.top-mainvisual__special-offer-price .top-mainvisual__price-tax-included {
  font-size: 10px;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .top-mainvisual__price.top-mainvisual__special-offer-price .top-mainvisual__price-tax-included {
    font-size: 2.6666666667vw;
  }
}

.top-mainvisual__list-price {
  position: relative;
  display: inline-flex;
}
.top-mainvisual__list-price::before, .top-mainvisual__list-price::after {
  display: block;
  content: "";
  width: 100%;
  height: 2px;
  background-color: #eb6600;
  position: absolute;
  align-self: center;
}
@media screen and (max-width: 767px) {
  .top-mainvisual__list-price::before, .top-mainvisual__list-price::after {
    height: 0.5333333333vw;
  }
}
.top-mainvisual__list-price::before {
  margin-bottom: 4px;
}
@media screen and (max-width: 767px) {
  .top-mainvisual__list-price::before {
    margin-bottom: 1.0666666667vw;
  }
}
.top-mainvisual__list-price::after {
  margin-bottom: -6px;
}
@media screen and (max-width: 767px) {
  .top-mainvisual__list-price::after {
    margin-bottom: -1.6vw;
  }
}
.top-mainvisual__list-price-wrapper {
  display: grid;
  justify-content: flex-start;
  position: relative;
  bottom: 2px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .top-mainvisual__list-price-wrapper {
    bottom: 0.5333333333vw;
  }
}
.top-mainvisual__list-price-wrapper::after {
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  position: absolute;
  width: 48px;
  aspect-ratio: 48/26;
  background-image: url(../img/top/icon-price-down.svg);
  top: 8px;
  right: -17px;
}
@media screen and (max-width: 767px) {
  .top-mainvisual__list-price-wrapper::after {
    width: 12.8vw;
    top: 2.1333333333vw;
    right: -4.5333333333vw;
  }
}
.top-mainvisual__list-price-text {
  color: #555;
  font-weight: 700;
  line-height: 1.5;
  font-size: 15px;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .top-mainvisual__list-price-text {
    font-size: 4vw;
  }
}

.top-mainvisual__special-offer-wrapper {
  display: flex;
  flex-direction: column;
}
.top-mainvisual__special-offer-text {
  display: flex;
  align-items: center;
  color: #eb6600;
  font-weight: 700;
  line-height: 1.5;
  font-size: 15px;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .top-mainvisual__special-offer-text {
    font-size: 4vw;
  }
}

.top-mainvisual__annotation {
  font-size: 50%;
  vertical-align: sub;
}

.top-mainvisual__note {
  font-size: 13px;
  line-height: 1.5;
  font-weight: 400;
  color: #333;
}
@media screen and (max-width: 767px) {
  .top-mainvisual__note {
    font-size: 3.4666666667vw;
  }
}

.top-mainvisual__merit {
  display: flex;
  gap: 24px;
}
.top-mainvisual__merit-group {
  display: flex;
  gap: 20px;
  align-items: flex-start;
  margin-top: 8px;
}
@media screen and (max-width: 767px) {
  .top-mainvisual__merit-group {
    order: 1;
    gap: 1.0666666667vw;
    margin-top: 4.2666666667vw;
    flex-direction: column;
    align-items: center;
    position: relative;
    padding-top: 36.2666666667vw;
  }
  .top-mainvisual__merit-group::before, .top-mainvisual__merit-group::after {
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    display: block;
    width: 50%;
    aspect-ratio: 180/120;
    top: 0;
    background-size: cover;
    position: absolute;
  }
  .top-mainvisual__merit-group::before {
    background-image: url(../img/top/bg_main-visual_01_sp.jpg);
    left: 0;
  }
  .top-mainvisual__merit-group::after {
    background-image: url(../img/top/bg_main-visual_02_sp.jpg);
    right: 0;
  }
}
@media screen and (max-width: 767px) {
  .top-mainvisual__merit {
    gap: 8.5333333333vw;
  }
}
.top-mainvisual__merit-item {
  position: relative;
  z-index: 1;
  width: 110px;
}
@media screen and (max-width: 767px) {
  .top-mainvisual__merit-item {
    width: 29.3333333333vw;
  }
}
.top-mainvisual__merit-item::before {
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  width: 126px;
  aspect-ratio: 126/91;
  background-image: url(../img/img_laurel.svg);
  position: absolute;
  z-index: -1;
  left: -8px;
}
@media screen and (max-width: 767px) {
  .top-mainvisual__merit-item::before {
    width: 33.6vw;
    left: -2.1333333333vw;
  }
}
.top-mainvisual__merit-text {
  display: grid;
  color: #b88114;
  font-size: 16px;
  line-height: 1.45;
  font-weight: 700;
  text-shadow: 0 0 8px #fff480;
  padding-top: 4px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .top-mainvisual__merit-text {
    font-size: 4.2666666667vw;
    text-shadow: 0 0 2.1333333333vw #fff480;
    padding-top: 1.0666666667vw;
  }
}
.top-mainvisual__merit-note {
  margin-top: 20px;
  display: block;
}
@media screen and (max-width: 767px) {
  .top-mainvisual__merit-note {
    margin-top: 5.3333333333vw;
  }
}

.top-mainvisual__call-text {
  display: grid;
  text-align: center;
  line-height: 1.65;
  font-size: 22px;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #444;
  text-shadow: 0 0 10px rgba(255, 255, 255, 0.5);
  padding-top: 12px;
}
@media screen and (max-width: 767px) {
  .top-mainvisual__call-text {
    padding-top: 0;
    font-size: 5.3333333333vw;
  }
}

.top-mainvisual__btn-wrapper {
  gap: 12px;
  margin-top: 12px;
}
@media screen and (max-width: 767px) {
  .top-mainvisual__btn-wrapper {
    gap: 2.1333333333vw;
    margin-top: 4.2666666667vw;
  }
}

.top-mainvisual__btn {
  min-width: 200px;
  padding: 8px;
}
@media screen and (max-width: 767px) {
  .top-mainvisual__btn {
    min-width: 28.8vw;
    flex-direction: column;
    justify-content: flex-end;
    padding: 1.0666666667vw 0.5333333333vw 1.0666666667vw;
    line-height: 1.5;
    gap: 0.8vw;
  }
}
@media screen and (max-width: 767px) {
  .top-mainvisual__btn::before {
    bottom: inherit;
  }
}

.top-introduction__campaign {
  margin-left: auto;
  margin-right: auto;
  max-width: 720px;
}

.top-problems {
  padding-bottom: 35px;
}

@media screen and (max-width: 767px) {
  .top-problems {
    padding-bottom: 5.33333vw;
  }
}
.top-problems__list {
  background: #fef3e7;
  box-pack: justify;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 40px 0 28px;
  padding: 20px 0 18px;
}

@media screen and (max-width: 767px) {
  .top-problems__list {
    margin: 6.66667vw 3.33333vw 5.06667vw;
    padding: 1.33333vw 2vw 1.6vw;
  }
}
.top-problems__list .item {
  align-items: center;
  border-right: 2px dotted var(--primary-color);
  box-align: center;
  box-direction: normal;
  box-orient: vertical;
  display: flex;
  flex-direction: column;
  flex-direction: column;
  padding: 23px 15px 7px;
  width: calc(100% / 4);
}

.top-problems__list .item:last-child {
  border-right: none;
}

.top-problems__list .item-icon {
  display: block;
  margin-bottom: 22px;
  text-align: center;
}

.top-problems__list .item-txt {
  font-size: 16px;
  font-weight: bold;
  letter-spacing: 0;
  line-height: 1.26315789;
}

.top-problems__list .item-txt span {
  background: linear-gradient(transparent 75%, #d1ebf2 0);
  font-size: 20px;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .top-problems__list .item {
    border-bottom: 2px dotted var(--primary-color);
    border-right: none;
    box-direction: normal;
    box-orient: horizontal;
    flex-direction: row;
    flex-direction: row;
    padding: 3.33333vw 0 3.33333vw 4vw;
    width: 100%;
  }

  .top-problems__list .item:last-child {
    border-bottom: none;
  }

  .top-problems__list .item-icon {
    margin-bottom: 0;
    margin-right: 6.66667vw;
    width: 22.66667vw;
  }

  .top-problems__list .item-txt {
    font-size: 4.26667vw;
  }

  .top-problems__list .item-txt span {
    font-size: 5.06667vw;
  }
}
.top-problems__txt {
  font-size: 23px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .top-problems__txt {
    font-size: 5.3333333333vw;
  }
}
.top-problems__sub {
  background: url(../img/icon_arrow_03.svg) no-repeat center bottom/37px 19px;
  color: var(--primary-color);
  font-family: var(--serif-family);
  font-size: 32px;
  line-height: 1;
  margin-top: 6px;
  padding-bottom: 38px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .top-problems__sub {
    background-size: 9.73333vw 4.8vw;
    font-size: 6.13333vw;
    line-height: 1.47826087;
    margin-top: 0.93333vw;
    padding-bottom: 9.06667vw;
  }
}
.top-comment__content {
  margin-left: auto;
  margin-right: auto;
  max-width: 720px;
}

.top-comment__target-wrapper {
  padding: 20px 28px 28px;
}
@media screen and (max-width: 767px) {
  .top-comment__target-wrapper {
    padding: 5.3333333333vw 4.2666666667vw 4.2666666667vw;
  }
}

.top-comment__target {
  display: flex;
  gap: 36px;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .top-comment__target {
    align-items: center;
    flex-direction: column;
    gap: 6.4vw;
  }
}
.top-comment__target::before {
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  background-image: url(../img/top/bg_comment.png);
  height: 152px;
  left: 28px;
  position: absolute;
  top: 20px;
  width: 287px;
  z-index: -1;
}

.top-comment__left {
  padding-left: 28px;
}
@media screen and (max-width: 767px) {
  .top-comment__left {
    padding-left: 0;
  }
}

.top-comment__person {
  border-radius: 50%;
  height: 94px;
  overflow: hidden;
  width: 94px;
}
@media screen and (max-width: 767px) {
  .top-comment__person {
    height: 25.0666666667vw;
    width: 25.0666666667vw;
  }
}

.top-comment__right {
  margin-top: 8px;
}
@media screen and (max-width: 767px) {
  .top-comment__right {
    margin-top: 0;
  }
}

.top-comment__right p {
  letter-spacing: 0.02em;
  margin-bottom: 6px;
}
@media screen and (max-width: 767px) {
  .top-comment__right p {
    margin-bottom: 1.6vw;
  }
}

.top-comment__right p strong {
  font-size: 20px;
}
@media screen and (max-width: 767px) {
  .top-comment__right p strong {
    font-size: 5.3333333333vw;
  }
}

.top-comment__right p:last-child {
  margin-bottom: 0;
  text-align: justify;
}

.top-voice__list {
  box-pack: justify;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 50px 0 43px;
}

@media screen and (max-width: 767px) {
  .top-voice__list {
    padding: 6.66667vw 2.66667vw 3.33333vw;
  }
}
.top-voice__list .item {
  background: #f6fbfc;
  padding: 17px 17px 27px;
  width: 480px;
}

.top-voice__list .item-ttl {
  border-bottom: 1px dotted gray;
  margin-bottom: 10px;
  padding-bottom: 8px;
}

.top-voice__list .item-ttl::before {
  background: url(../img/icon_talk.svg) no-repeat center center/contain;
  content: "";
  display: inline-block;
  height: 31px;
  margin-right: 10px;
  vertical-align: middle;
  width: 32px;
}

.top-voice__list .item-txt {
  letter-spacing: 0.02em;
  margin-bottom: 7px;
  text-align: justify;
}

.top-voice__list .item-note {
  font-size: 10px;
}

.top-voice__list .item-btn {
  margin-top: 10px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .top-voice__list .item {
    margin-bottom: 3.73333vw;
    padding: 4vw 4vw 4.66667vw;
    width: 100%;
  }

  .top-voice__list .item-ttl {
    font-size: 4.26667vw;
    margin-bottom: 2.93333vw;
    padding-bottom: 2.13333vw;
  }

  .top-voice__list .item-ttl::before {
    height: 8.26667vw;
    margin-right: 3.2vw;
    width: 8.4vw;
  }

  .top-voice__list .item-txt {
    margin-bottom: 0.8vw;
  }

  .top-voice__list .item-note {
    font-size: 2.66667vw;
  }

  .top-voice__list .item-btn {
    margin-top: 3.06667vw;
  }
}
.top-voice__box {
  background: #fef3e7;
  margin: 84px 0 62px;
  padding: 19px 17px 21px;
}

@media screen and (max-width: 767px) {
  .top-voice__box {
    display: block;
    margin: 8.93333vw 0 0;
    padding: 6.93333vw 3.33333vw 8vw;
  }
}
.top-voice__box .box-left {
  margin-bottom: 20px;
}

.top-voice__box .box-left__ttl {
  color: var(--primary-color);
  font-family: var(--serif-family);
  font-size: 23px;
  margin-bottom: 10px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .top-voice__box .box-left {
    margin: 0 0 4vw;
    width: 100%;
  }

  .top-voice__box .box-left__ttl {
    font-size: 6.13333vw;
    line-height: 1.56521739;
    margin-bottom: 5.06667vw;
    text-align: center;
  }

  .top-voice__box .box-left p {
    margin: 0 2.66667vw;
    text-align: justify;
  }
}
.top-voice__box .box-right {
  background: var(--white);
  border: 1px solid var(--primary-color);
  border-radius: 5px;
  margin-bottom: 20px;
}

.top-voice__box .box-right__ttl {
  background: url(../img/bg_ttl_02.png);
  font-size: 16px;
  padding: 5px 0;
  text-align: center;
}

.top-voice__box .box-right__content {
  align-items: center;
  box-align: center;
  display: flex;
  padding: 31px 10px 30px 19px;
}

.top-voice__box .box-right__image {
  border-radius: 50%;
  box-flex: 0;
  flex: 0 0 93px;
  margin-right: 20px;
  overflow: hidden;
  width: 93px;
}

.top-voice__box .box-right__text span {
  display: block;
  font-weight: 600;
}

@media screen and (max-width: 767px) {
  .top-voice__box .box-right {
    border-radius: 1.33333vw;
    width: 100%;
  }

  .top-voice__box .box-right__ttl {
    font-size: 4.26667vw;
    padding: 2.26667vw 0 0.53333vw;
  }

  .top-voice__box .box-right__content {
    box-direction: normal;
    box-orient: vertical;
    flex-direction: column;
    flex-direction: column;
    padding: 3.73333vw 3.33333vw 4vw 3.2vw;
  }

  .top-voice__box .box-right__image {
    box-flex: 0;
    flex: 0 0 24.8vw;
    margin: 2.8vw 0 4vw;
    width: 24.8vw;
  }
}
.top-voice__box .box-btn {
  text-align: center;
}

@media screen and (max-width: 767px) {
  .top-voice__box .box-btn {
    bottom: 0;
    left: 0;
    margin-top: 8.53333vw;
    position: relative;
    text-align: center;
  }
}
.top-reasons {
  background: #98c4f9 url(../img/top/img_reasons.png) no-repeat center bottom/279px 197px;
  padding: 29px 0 170px;
}

@media screen and (max-width: 767px) {
  .top-reasons {
    background: #98c4f9 url(../img/top/img_reasons_sp.png) no-repeat center bottom/100% 54.53333vw;
    padding: 6.13333vw 3.33333vw 0;
  }
}
.top-reasons .inner::before {
  background: url(../img/top/bg_01.png) no-repeat center center/contain;
  content: "";
  height: 108px;
  position: absolute;
  right: 41px;
  top: -13px;
  width: 262px;
}

.top-reasons .inner::after {
  background: url(../img/top/bg_02.png) no-repeat center center/contain;
  content: "";
  height: 75px;
  left: -2px;
  position: absolute;
  top: 218px;
  width: 245px;
}

@media screen and (max-width: 767px) {
  .top-reasons .inner::before,
.top-reasons .inner::after {
    content: none;
  }
}
.top-reasons__ttl {
  color: var(--white);
  font-family: var(--serif-family);
  font-size: 30px;
  margin-bottom: 30px;
  position: relative;
  text-align: center;
  text-shadow: 1.3158px 1.3158px 1.3158px rgba(44, 121, 198, 0.4);
  z-index: 10;
}

@media screen and (max-width: 767px) {
  .top-reasons__ttl {
    font-size: 6.93333vw;
    line-height: 1.75;
    margin-bottom: 11.06667vw;
  }
}
.top-reasons__text {
  color: var(--white);
  display: flex;
  justify-content: center;
  position: relative;
  z-index: 1;
}

.top-reasons__text p {
  display: inline-block;
  font-family: var(--serif-family);
  letter-spacing: 0.12em;
  line-height: 2.64285714;
  margin-right: 37px;
  text-align: left;
  text-shadow: 2px 2px 2px rgba(44, 121, 198, 0.4);
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
      writing-mode: vertical-rl;
}

@media screen and (max-width: 767px) {
  .top-reasons__text {
    height: 176.26667vw;
  }

  .top-reasons__text p {
    letter-spacing: 0.06em;
    line-height: 1.96428571;
    margin-right: 6.66667vw;
  }

  .top-reasons__text p:last-child {
    margin-right: 0;
  }
}
.top-movie {
  display: flex;
  justify-content: center;
}
.top-movie iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
  max-width: 600px;
}
@media screen and (max-width: 767px) {
  .top-movie iframe {
    margin-right: 5.3333333333vw;
    margin-left: 5.3333333333vw;
    width: calc(100% - 10.6666666667vw);
  }
}
