@charset "UTF-8";

*, ::after, ::before {
  box-sizing: border-box
}

a, body, button, dd, div, dl, dt, figure, h1, h2, h3, h4, h5, h6, html, img, li, ol, p, small, span, table, td, th, time, tr, ul {
  border: 0;
  font: inherit;
  font-size: 100%;
  margin: 0;
  padding: 0;
  vertical-align: baseline
}

html {
  line-height: 1
}

ol, ul {
  list-style: none
}

dd, li {
  list-style-type: none
}

article, aside, figcaption, figure, footer, header, main, nav, section {
  display: block
}

img {
  border: none;
  vertical-align: bottom
}

@media screen and (max-width:1179px) and (min-width:768px) {
  html {
    font-size: calc(16 / 1180 * 100vw)
  }
}

@media screen and (max-width:399px) {
  html {
    font-size: calc(16 / 400 * 100vw)
  }
}

body {
  color: #343434;
  font-family: "M PLUS 1p", sans-serif
}

body.is-open {
  height: 100%;
  overflow: hidden;
  width: 100%
}

a {
  color: inherit;
  text-decoration: none;
  transition: .3s
}

@media (hover:hover) {
  a:hover {
    cursor: pointer
  }
}

a, img, picture, span {
  display: inline-block
}

img, svg, video {
  height: 100%;
  width: 100%
}

button {
  background: 0 0;
  background: 0 0;
  border: none;
  color: inherit
}

button, input, select, textarea {
  font: inherit
}

@media (min-width:768px) {
  a[href*="tel:"] {
    cursor: default;
    pointer-events: none;
    text-decoration: none
  }
}

.l-footer {
  background-color: #fff
}

.l-footer__inner-nav {
  margin-inline: auto;
  max-width: 64.3125rem;
  padding: 1.25rem 2.5rem 1.125rem
}

@media screen and (max-width:767px) {
  .l-footer__inner-nav {
    max-width: 21.75rem;
    padding: 1.75rem
  }
}

.l-footer__nav-lists {
  display: flex;
  gap: 1.875rem;
  justify-content: center
}

@media screen and (max-width:767px) {
  .l-footer__nav-lists {
    align-items: center;
    flex-direction: column;
    gap: 1.75rem
  }
}

.l-footer__nav-lists-list-link {
  font-weight: 500
}

@media (any-hover:hover) {
  .l-footer__nav-lists-list-link:focus, .l-footer__nav-lists-list-link:hover {
    opacity: .8
  }
}

@media screen and (max-width:767px) {
  .l-footer__nav-lists-list-link {
    font-size: max(1rem, 12.8px)
  }
}

@media screen and (max-width:767px) and (max-width:767px) {
  .l-footer__nav-lists-list-link {
    font-size: 1rem
  }
}

@media (min-width:768px) and (max-width:999px) {
  .l-footer__nav-lists-list-link {
    font-size: max(.75rem, 9.6px)
  }
}

@media screen and (min-width:768px) and (max-width:999px) and (max-width:767px) {
  .l-footer__nav-lists-list-link {
    font-size: .75rem
  }
}

@media (min-width:1000px) {
  .l-footer__nav-lists-list-link {
    font-size: max(1rem, 12.8px)
  }
}

@media screen and (min-width:1000px) and (max-width:767px) {
  .l-footer__nav-lists-list-link {
    font-size: 1rem
  }
}

.l-footer-bottom {
  background-color: #989898;
  padding-block: 1.5rem 1.875rem;
  text-align: center
}

@media screen and (max-width:767px) {
  .l-footer-bottom {
    padding-block: 1rem 1.875rem
  }
}

.l-footer-bottom-logo {
  aspect-ratio: 300/60;
  height: auto;
  margin-inline: auto;
  width: 18.75rem
}

@media screen and (max-width:767px) {
  .l-footer-bottom-logo {
    width: 11.875rem
  }
}

.l-footer-bottom-copyright {
  color: #fff;
  font-size: max(.875rem, 11.2px);
  font-weight: 400;
  margin-block-start: .625rem;
  text-transform: uppercase
}

@media screen and (max-width:767px) {
  .l-footer-bottom-copyright {
    font-size: .875rem;
    font-size: max(.625rem, 8px);
    margin-block-start: .25rem
  }
}

@media screen and (max-width:767px) and (max-width:767px) {
  .l-footer-bottom-copyright {
    font-size: .625rem
  }
}

.l-header {
  background-color: #e60013;
  border-bottom: .1875rem solid #fff;
  left: 0;
  padding-block: .625rem .75rem;
  position: fixed;
  top: 0;
  transition: top .5s ease-in-out, background-color .5s ease-in-out, border-color .5s ease-in-out, color .5s ease-in-out;
  width: 100%;
  z-index: 100
}

@media screen and (max-width:767px) {
  .l-header {
    padding-block: .75rem .5625rem
  }
}

body.is-open .l-header {
  background-color: #fff
}

.l-header__inner {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin-inline: auto;
  max-width: 95rem;
  padding-inline: 2.5rem
}

@media screen and (max-width:767px) {
  .l-header__inner {
    max-width: 39.625rem;
    padding-inline: 1.25rem 1rem
  }
}

@media screen and (max-width:767px) {
  .l-header__inner .left {
    margin-right: auto;
  }
}

.l-header__logo-image {
  aspect-ratio: 120/55;
  height: auto;
  width: 7.5rem
}

@media screen and (max-width:767px) {
  .l-header__logo-image {
    aspect-ratio: 103/36;
    width: 6.4375rem
  }
}

.l-header__nav {
  align-items: center;
  display: flex;
  gap: 4.75rem
}

.l-header__nav-lists {
  color: #fff;
  display: flex;
  gap: 2.875rem
}

.l-header__nav-lists-list-link {
  font-weight: 700;
  transition: .3s
}

@media (min-width:768px) and (max-width:929px) {
  .l-header__nav-lists-list-link {
    font-size: max(.875rem, 11.2px)
  }
}

@media screen and (min-width:768px) and (max-width:929px) and (max-width:767px) {
  .l-header__nav-lists-list-link {
    font-size: .875rem
  }
}

@media (min-width:930px) and (max-width:1259px) {
  .l-header__nav-lists-list-link {
    font-size: max(1.125rem, 14.4px)
  }
}

@media screen and (min-width:930px) and (max-width:1259px) and (max-width:767px) {
  .l-header__nav-lists-list-link {
    font-size: 1.125rem
  }
}

@media (min-width:1260px) {
  .l-header__nav-lists-list-link {
    font-size: max(1.375rem, 17.6px)
  }
}

@media screen and (min-width:1260px) and (max-width:767px) {
  .l-header__nav-lists-list-link {
    font-size: 1.375rem
  }
}

@media (any-hover:hover) {
  .l-header__nav-lists-list-link:focus, .l-header__nav-lists-list-link:hover {
    opacity: .8
  }
}

.l-header__nav-button-link {
  font-size: max(1.375rem, 17.6px);
  letter-spacing: .05em;
  padding-block: .8125rem;
  padding-inline: 2.875rem 4.75rem
}

@media screen and (max-width:767px) {
  .l-header__nav-button-link {
    font-size: 1.375rem
  }
}

.l-header__nav-button-link span.narrow {
  letter-spacing: -.06em
}

.l-header__nav-button-link:after {
  right: 2.875rem
}

.c-bg {
  background: url(../img/about-bg.webp) no-repeat center center/cover;
  position: relative
}

.c-bg:after {
  background: url(../img/dots-line.webp) no-repeat center center/cover;
  bottom: 0;
  content: "";
  height: 1.875rem;
  left: 0;
  position: absolute;
  width: 100%
}

@media screen and (max-width:767px) {
  .c-bg:after {
    background: url(../img/dots-line-sp.webp) no-repeat center center/cover;
    height: 1.625rem
  }
}

.c-button {
  border-radius: 2.5rem;
  box-shadow: 0 4px 0 0 rgba(0, 0, 0, .2);
  font-weight: 700;
  position: relative;
  transition: .3s
}

.c-button:after {
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 16'><path d='M2 2L8 8L2 14' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat center/contain;
  background-color: currentColor;
  content: "";
  height: 1.25rem;
  mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 16'><path d='M2 2L8 8L2 14' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat center/contain;
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  width: 1.25rem
}

.c-button.--bl {
  background-color: #1600be;
  border: .125rem solid #fff
}

.c-button.--bl, .c-button.--bl:after {
  color: #fff
}

.c-button.--wh {
  background-color: #fff;
  border: .125rem solid #1600be
}

.c-button.--wh, .c-button.--wh:after {
  color: #1600be
}

@media (any-hover:hover) {
  .c-button:focus, .c-button:hover {
    box-shadow: unset;
    cursor: pointer;
    transform: translate(0, .25rem)
  }
}

.c-drawer__wrap {
  align-items: center;
  display: flex;
  gap: .625rem
}

.c-drawer__wrap-btn {
  height: 2rem;
  position: relative;
  width: 2.3125rem;
  z-index: 102
}

.c-drawer__wrap-btn.is-open {
  height: 1.4375rem;
  width: 2rem
}

.c-drawer__wrap-btn.is-open .c-drawer__wrap-btn-bar {
  background-color: #343434;
  right: 0
}

.c-drawer__wrap-btn.is-open .c-drawer__wrap-btn-bar:nth-of-type(1) {
  top: .3125rem;
  transform: rotate(46deg) translateY(.625rem);
  width: 1.5625rem
}

.c-drawer__wrap-btn.is-open .c-drawer__wrap-btn-bar:nth-of-type(2) {
  display: none
}

.c-drawer__wrap-btn.is-open .c-drawer__wrap-btn-bar:nth-of-type(3) {
  top: .75rem;
  transform: rotate(-46deg) translateX(-.3125rem) translateY(-.3125rem);
  width: 1.5625rem
}

@media (any-hover:hover) {
  .c-drawer__wrap-btn:focus, .c-drawer__wrap-btn:hover {
    cursor: pointer;
    opacity: .7
  }
}

.c-drawer__wrap-btn-bar {
  background-color: #fff;
  height: .125rem;
  position: absolute;
  right: .3125rem;
  transition: transform .8s;
  translate: 0 -50%;
  width: 1.8125rem
}

.c-drawer__wrap-btn-bar:nth-child(1) {
  top: .3125rem
}

.c-drawer__wrap-btn-bar:nth-child(2) {
  top: .9375rem
}

.c-drawer__wrap-btn-bar:nth-child(3) {
  top: 1.5625rem
}

.c-drawer {
  background-color: #fff;
  height: 100vh;
  left: -150%;
  position: fixed;
  top: 3.75rem;
  transition: left .5s ease-in-out;
  width: 100%;
  z-index: 101
}

.c-drawer.is-open {
  left: 0
}

.c-drawer__inner {
  margin-inline: auto;
  max-width: 37.5rem;
  padding-block: 1.1875rem
}

.c-drawer__inner-nav-lists-list:not(:last-child) .c-drawer__inner-nav-lists-list-link {
  border-bottom: .0625rem solid #989898
}

.c-drawer__inner-nav-lists-list-link {
  display: block;
  font-size: max(1.375rem, 17.6px);
  font-weight: 700;
  padding-block: 1rem 1.0625rem;
  padding-inline: 1.25rem;
  position: relative
}

@media screen and (max-width:767px) {
  .c-drawer__inner-nav-lists-list-link {
    font-size: 1.375rem
  }
}

.c-drawer__inner-nav-lists-list-link:after {
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 16'><path d='M2 2L8 8L2 14' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat center/contain;
  background-color: #343434;
  content: "";
  height: 1.25rem;
  mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 16'><path d='M2 2L8 8L2 14' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat center/contain;
  position: absolute;
  right: 1.5rem;
  top: 50%;
  translate: 0 -50%;
  width: 1.25rem
}

.c-drawer__inner-button {
  margin-block-start: 2.5625rem;
  margin-inline: auto;
  width: 21rem
}

.c-drawer__inner-button-link {
  font-size: max(1.75rem, 22.4px);
  letter-spacing: .06em;
  padding-block: 1rem .8125rem;
  padding-inline: 2.4375rem 1.25rem;
  width: 100%
}

.c-drawer__inner-button-link:after {
  right: 1.5625rem;
  top: calc(50% + .125rem)
}

@media screen and (max-width:767px) {
  .c-drawer__inner-button-link {
    font-size: 1.45rem
  }
}

.c-drawer__inner-button-link span.narrow {
  letter-spacing: -.06em
}

.p-about {
  padding-block: 3.6875rem 5.5rem
}

@media screen and (max-width:767px) {
  .p-about {
    padding-block: 2.5rem 4.375rem
  }
}

.p-about__inner {
  margin-inline: auto;
  max-width: 55rem;
  padding-inline: 2.5rem
}

@media screen and (max-width:767px) {
  .p-about__inner {
    max-width: 40rem;
    padding-inline: 1.25rem
  }
}

.p-about__inner-top {
  background-color: #fff;
  border-radius: 1.25rem;
  padding: 2.5rem;
  position: relative;
  text-align: center;
  width: 100%
}

.p-about__inner-top:after, .p-about__inner-top:before {
  bottom: 1.875rem;
  content: "";
  position: absolute
}

.p-about__inner-top:before {
  aspect-ratio: 164/157;
  background: url(../img/about-deco.webp) no-repeat center center/contain;
  height: auto;
  left: 1rem
}

.p-about__inner-top:after {
  aspect-ratio: 167/145;
  background: url(../img/fv-deco-2.webp) no-repeat center center/contain;
  height: auto;
  right: .8125rem
}

@media screen and (max-width:767px) {
  .p-about__inner-top {
    padding: 1.875rem .625rem 13.125rem
  }

  .p-about__inner-top:after, .p-about__inner-top:before {
    bottom: 1.25rem
  }

  .p-about__inner-top:before {
    left: calc(50% - 11.1875rem);
    width: 12.4375rem
  }

  .p-about__inner-top:after {
    right: calc(50% - 10.625rem);
    width: 10.625rem
  }
}

@media (min-width:768px) and (max-width:999px) {
  .p-about__inner-top:after, .p-about__inner-top:before {
    width: 8.125rem
  }
}

@media (min-width:1000px) {
  .p-about__inner-top:before {
    width: 10.25rem
  }

  .p-about__inner-top:after {
    width: 10.4375rem
  }
}

.p-about__inner-top-head {
  color: #e60013;
  font-size: max(4rem, 51.2px);
  font-weight: 900
}

@media screen and (max-width:767px) {
  .p-about__inner-top-head {
    font-size: 4rem;
    font-size: max(2.5rem, 32px)
  }
}

@media screen and (max-width:767px) and (max-width:767px) {
  .p-about__inner-top-head {
    font-size: 2.4rem
  }
}

.p-about__inner-top-text {
  background-color: #e60013;
  border-radius: 3.75rem;
  color: #fff;
  display: inline-block;
  font-size: max(1.875rem, 24px);
  font-weight: 700;
  line-height: 1.5;
  margin-block-start: 1.875rem;
  padding: .9375rem 2.125rem .9375rem 2rem;
  position: relative
}

@media screen and (max-width:767px) {
  .p-about__inner-top-text {
    font-size: 1.875rem
  }
}

.p-about__inner-top-text:before {
  background-color: #e60013;
  bottom: .4375rem;
  clip-path: polygon(100% 1%, 0 50%, 100% 100%);
  content: "";
  height: 1.25rem;
  left: 0;
  position: absolute;
  rotate: -35deg;
  width: 1.25rem
}

@media screen and (max-width:767px) {
  .p-about__inner-top-text {
    font-size: max(1.5rem, 19.2px);
    margin-block-start: 1.75rem;
    padding: .875rem 1.5625rem .875rem 1.5625rem
  }
}

@media screen and (max-width:767px) and (max-width:767px) {
  .p-about__inner-top-text {
    font-size: 1.5rem
  }
}

@media screen and (max-width:767px) {
  .p-about__inner-top-text:before {
    bottom: -1.3125rem;
    content: "";
    height: 2.375rem;
    left: calc(50% - .25rem);
    rotate: -90deg;
    translate: -50%;
    width: 1.1875rem
  }
}

.p-about__inner-bottom-movie {
  margin-block-start: 2.375rem;
  width: 50rem
}

@media screen and (max-width:767px) {
  .p-about__inner-bottom-movie {
    margin-block-start: 1.0625rem;
    width: 100%
  }
}

.p-about__inner-bottom-movie-video {
  border: .1875rem solid #c00111;
  border-radius: 1.25rem;
  display: block;
  height: auto;
  width: 100%
}

.p-bottom-cta {
  background: url(../img/fv-bg-pc.webp) no-repeat bottom center/cover;
  padding-block: 4.125rem 3.5625rem;
  position: relative
}

@media screen and (max-width:767px) {
  .p-bottom-cta {
    background: url(../img/fv-bg-sp.webp) no-repeat bottom center/cover;
    padding-block: 2.75rem 12.3125rem
  }
}

.p-bottom-cta__inner {
  margin-inline: auto;
  max-width: 52.125rem;
  padding-inline: 2.5rem
}

@media screen and (max-width:767px) {
  .p-bottom-cta__inner {
    max-width: 41.5rem;
    padding-inline: 2rem
  }
}

.p-bottom-cta__inner-buttons {
  align-items: center;
  display: flex;
  gap: 1.625rem;
  position: relative;
  justify-content: center;
}

.p-bottom-cta__inner-buttons:before {
  background: url(../img/bottom-cta-1.webp) no-repeat center center/contain;
  height: 8.125rem;
  left: -11.25rem
}

.p-bottom-cta__inner-buttons:after, .p-bottom-cta__inner-buttons:before {
  content: "";
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  width: 9.375rem
}

.p-bottom-cta__inner-buttons:after {
  background: url(../img/bottom-cta-2.webp) no-repeat center center/contain;
  height: 8.9375rem;
  right: -11.25rem
}

@media screen and (max-width:767px) {
  .p-bottom-cta__inner-buttons {
    flex-direction: column-reverse;
    gap: 3rem
  }

  .p-bottom-cta__inner-buttons:after, .p-bottom-cta__inner-buttons:before {
    top: unset;
    translate: -50%
  }

  .p-bottom-cta__inner-buttons:before {
    background: url(../img/fv-deco-1.webp) no-repeat center center/contain;
    bottom: -10.625rem;
    height: 9rem;
    left: calc(50% - 4.375rem);
    width: 12.8125rem
  }

  .p-bottom-cta__inner-buttons:after {
    background: url(../img/fv-deco-2.webp) no-repeat center center/contain;
    bottom: -10.9375rem;
    right: calc(50% - 14.375rem);
    width: 9.4375rem
  }
}

.p-bottom-cta__inner-buttons-pop {
  text-align: center
}

.p-bottom-cta__inner-buttons-pop-image {
  height: auto
}

.p-bottom-cta__inner-buttons-pop-image.--1 {
  aspect-ratio: 213/28;
  width: 12rem
}

.p-bottom-cta__inner-buttons-pop-image.--2 {
  aspect-ratio: 240/28;
  width: 14.75rem
}

.p-bottom-cta__inner-buttons-pop-image.--3 {
  aspect-ratio: 315/28;
  width: 17.6rem
}

.p-bottom-cta__inner-buttons-pop-image.--4 {
  aspect-ratio: 256/28;
  width: 14.75rem
}

@media screen and (max-width:767px) {
  .p-bottom-cta__inner-buttons-pop-image .--1 {
    aspect-ratio: 208/28;
    width: 10.9375rem
  }

  .p-bottom-cta__inner-buttons-pop-image.--2 {
    width: 13.375rem
  }
}

.p-bottom-cta__inner-buttons-button {
  margin-block-start: .625rem
}

@media screen and (max-width:767px) {
  .p-bottom-cta__inner-buttons-button {
    margin-block-start: .75rem
  }
}

.p-bottom-cta__inner-buttons-button-link {
  display: block;
  letter-spacing: .06em;
  margin-inline: auto;
  padding-block: 1.25rem;
  padding-inline: 2rem 1.25rem;
  text-align: start;
  width: 22.75rem
}

.p-bottom-cta__inner-buttons-button-link span.narrow {
  letter-spacing: -.06em
}

.p-bottom-cta__inner-buttons-button-link:after {
  right: 0.9375rem
}

.p-bottom-cta__inner-buttons-button-link.--x {
  padding-inline: 4.375rem 1.25rem
}

.p-bottom-cta__inner-buttons-button-link.--x span.text {
  color: #343434;
  font-size: max(1.375rem, 17.6px);
  font-weight: 800;
  letter-spacing: -.05em
}

@media screen and (max-width:767px) {
  .p-bottom-cta__inner-buttons-button-link.--x span.text {
    font-size: 1.375rem
  }
}

.p-bottom-cta__inner-buttons-button-link.--x span.image {
  aspect-ratio: 30/31;
  height: auto;
  margin-inline-start: .625rem;
  width: 1.875rem
}

.p-bottom-cta__inner-buttons-button-link.--x:after {
  display: none
}

@media screen and (max-width:767px) {
  .p-bottom-cta__inner-buttons-button-link {
    font-size: max(1.75rem, 22.4px);
    padding-block: .75rem;
    padding-inline: 1.4375rem 1.25rem;
    width: 20.9375rem
  }
}

@media screen and (max-width:767px) and (max-width:767px) {
  .p-bottom-cta__inner-buttons-button-link {
    font-size: 1.45rem
  }
}

@media screen and (max-width:767px) {
  .p-bottom-cta__inner-buttons-button-link span.text {
    font-size: max(1.25rem, 16px)
  }
}

@media screen and (max-width:767px) and (max-width:767px) {
  .p-bottom-cta__inner-buttons-button-link span.text {
    font-size: 1.25rem
  }
}

@media screen and (max-width:767px) {
  .p-bottom-cta__inner-buttons-button-link:after {
    right: 0.5rem
  }

  .p-bottom-cta__inner-buttons-button-link.--x {
    padding-inline: 4.0625rem 1.25rem
  }

  .p-bottom-cta__inner-buttons-button-link.--x span.text {
    font-size: max(1.3125rem, 16.8px)
  }
}

@media screen and (max-width:767px) and (max-width:767px) {
  .p-bottom-cta__inner-buttons-button-link.--x span.text {
    font-size: 1.3125rem
  }
}

@media screen and (max-width:767px) {
  .p-bottom-cta__inner-buttons-button-link.--x span.image {
    margin-inline-start: 0
  }
}

@media (min-width:768px) and (max-width:949px) {
  .p-bottom-cta__inner-buttons-button-link {
    font-size: max(1.5rem, 19.2px)
  }
}

@media screen and (min-width:768px) and (max-width:949px) and (max-width:767px) {
  .p-bottom-cta__inner-buttons-button-link {
    font-size: 1.5rem
  }
}

@media (min-width:950px) {
  .p-bottom-cta__inner-buttons-button-link {
    font-size: max(1.475rem, 24px)
  }
}

@media screen and (min-width:950px) and (max-width:767px) {
  .p-bottom-cta__inner-buttons-button-link {
    font-size: 1.875rem
  }
}

.p-cta {
  background: url(../img/fv-bg-pc.webp) no-repeat bottom center/cover;
  padding-block: 2.5rem 4.25rem;
  position: relative
}

.p-cta:after {
  background: url(../img/dots-line.webp) no-repeat center center/cover;
  bottom: 0;
  content: "";
  height: 1.875rem;
  left: 0;
  position: absolute;
  width: 100%
}

@media screen and (max-width:767px) {
  .p-cta {
    background: url(../img/fv-bg-sp.webp) no-repeat bottom center/cover;
    padding-bottom: 13.125rem
  }

  .p-cta:after {
    background: url(../img/dots-line-sp.webp) no-repeat center center/cover;
    height: 1.625rem
  }
}

.p-cta__inner {
  margin-inline: auto;
  max-width: 50rem;
  padding-inline: 2.5rem
}

@media screen and (max-width:767px) {
  .p-cta__inner {
    max-width: 38.75rem;
    padding-inline: .625rem
  }
}

.p-cta__inner-image {
  aspect-ratio: 720/89;
  height: auto;
  margin-inline: auto;
  width: 45rem
}

@media screen and (max-width:767px) {
  .p-cta__inner-image {
    width: 100%
  }
}

.p-cta__inner-items {
  margin-block-start: 2.8125rem;
  position: relative;
  text-align: center
}

.p-cta__inner-items:before {
  aspect-ratio: 150/143;
  background: url(../img/fv-deco-1.webp) no-repeat center center/contain;
  left: 1.0625rem
}

.p-cta__inner-items:after, .p-cta__inner-items:before {
  bottom: 0;
  content: "";
  height: auto;
  position: absolute;
  width: 9.375rem
}

.p-cta__inner-items:after {
  aspect-ratio: 150/130;
  background: url(../img/fv-deco-2.webp) no-repeat center center/contain;
  right: 1.4375rem
}

@media screen and (max-width:767px) {
  .p-cta__inner-items {
    margin-block-start: 1.6875rem
  }

  .p-cta__inner-items:after, .p-cta__inner-items:before {
    bottom: -9.6875rem;
    translate: -50%
  }

  .p-cta__inner-items:before {
    left: calc(50% - 4.1875rem)
  }

  .p-cta__inner-items:after {
    right: calc(50% - 14.375rem)
  }
}

.p-cta__inner-items-pop {
  aspect-ratio: 335/33;
  height: auto;
  margin-inline: auto;
  width: 14.75rem
}

@media screen and (max-width:767px) {
  .p-cta__inner-items-pop {
    aspect-ratio: 306/33;
    width: 13.5625rem
  }
}

.p-cta__inner-items-button {
  margin-block-start: .875rem
}

.p-cta__inner-items-button-link {
  display: block;
  letter-spacing: .06em;
  margin-inline: auto;
  padding-block: 1.25rem;
  padding-inline: 5rem 1.25rem;
  text-align: start;
  width: 22.75rem
}

.p-cta__inner-items-button-link span.narrow {
  letter-spacing: -.06em
}

.p-cta__inner-items-button-link:after {
  right: 4.9375rem
}

@media screen and (max-width:767px) {
  .p-cta__inner-items-button-link {
    font-size: max(1.75rem, 22.4px);
    padding-block: .8125rem;
    padding-inline: 4.4375rem 1.25rem;
    width: 21.125rem
  }
}

@media screen and (max-width:767px) and (max-width:767px) {
  .p-cta__inner-items-button-link {
    font-size: 1.75rem
  }
}

@media screen and (max-width:767px) {
  .p-cta__inner-items-button-link:after {
    right: 4.5625rem
  }
}

@media (min-width:768px) and (max-width:949px) {
  .p-cta__inner-items-button-link {
    font-size: max(1.5rem, 19.2px)
  }
}

@media screen and (min-width:768px) and (max-width:949px) and (max-width:767px) {
  .p-cta__inner-items-button-link {
    font-size: 1.5rem
  }
}

@media (min-width:950px) {
  .p-cta__inner-items-button-link {
    font-size: max(1.875rem, 24px)
  }
}

@media screen and (min-width:950px) and (max-width:767px) {
  .p-cta__inner-items-button-link {
    font-size: 1.875rem
  }
}

.p-fv {
  background: url(../img/fv-bg-pc.webp) no-repeat center center/cover;
  padding-block: 5rem 3.625rem;
  position: relative
}

.p-fv:after {
  background: url(../img/dots-line.webp) no-repeat center center/cover;
  bottom: 0;
  content: "";
  height: 1.875rem;
  left: 0;
  position: absolute;
  width: 100%
}

@media screen and (max-width:767px) {
  .p-fv {
    background: url(../img/fv-bg-sp.webp) no-repeat center center/cover
  }

  .p-fv:after {
    background: url(../img/dots-line-sp.webp) no-repeat center center/cover;
    height: 1.625rem
  }
}

.p-fv__inner {
  margin-inline: auto;
  max-width: 55rem;
  padding-inline: 2.5rem
}

@media screen and (max-width:767px) {
  .p-fv__inner {
    max-width: 40rem;
    padding-inline: 1.25rem
  }
}

.p-fv__inner-wrap {
  padding-block-start: 2.1875rem;
  position: relative
}

.p-fv__inner-wrap:before {
  aspect-ratio: 360/343;
  background: url(../img/fv-deco-1.webp) no-repeat center center/contain;
  bottom: -.3125rem
}

.p-fv__inner-wrap:after, .p-fv__inner-wrap:before {
  content: "";
  height: auto;
  position: absolute
}

.p-fv__inner-wrap:after {
  aspect-ratio: 360/313;
  background: url(../img/fv-deco-2.webp) no-repeat center center/contain;
  bottom: -1.25rem
}

@media screen and (max-width:767px) {
  .p-fv__inner-wrap {
    padding-block-start: 1.0625rem
  }
}

@media (max-width:499px) {
  .p-fv__inner-wrap:before {
    bottom: -.125rem;
    left: -1.125rem;
    width: 5.1875rem
  }

  .p-fv__inner-wrap:after {
    bottom: -.25rem;
    right: -1.375rem;
    width: 5.625rem
  }
}

@media (min-width:500px) and (max-width:767px) {
  .p-fv__inner-wrap:before {
    bottom: -.125rem;
    width: 7.6875rem
  }

  .p-fv__inner-wrap:after {
    bottom: -.25rem;
    right: 0;
    width: 6.6875rem
  }
}

@media (min-width:768px) and (max-width:1349px) {
  .p-fv__inner-wrap:after, .p-fv__inner-wrap:before {
    width: 17.5rem
  }

  .p-fv__inner-wrap:before {
    left: -10.625rem
  }

  .p-fv__inner-wrap:after {
    right: -10.625rem
  }
}

@media (min-width:1350px) {
  .p-fv__inner-wrap:after, .p-fv__inner-wrap:before {
    width: 22.5rem
  }

  .p-fv__inner-wrap:before {
    left: -17.375rem
  }

  .p-fv__inner-wrap:after {
    right: -15.625rem
  }
}

.p-fv__inner-text {
  text-align: center
}

.p-fv-text-image {
  aspect-ratio: 574/104;
  height: auto;
  margin-inline: auto;
  width: 35.875rem
}

@media screen and (max-width:767px) {
  .p-fv-text-image {
    width: 17.9375rem
  }
}

.p-fv__inner-logo {
  aspect-ratio: 190/43;
  height: auto;
  margin-block-start: .625rem;
  margin-inline: auto;
  width: 44.75rem
}

@media screen and (max-width:767px) {
  .p-fv__inner-logo {
    margin-block-start: .375rem;
    width: 15.75rem
  }
}

.p-fv__inner-movie {
  height: 50rem;
  margin-block-start: 1.875rem;
  margin-inline: auto;
  width: 40rem
}

@media screen and (max-width:767px) {
  .p-fv__inner-movie {
    height: 27.8125rem;
    margin-block-start: 1rem;
    width: 22.5rem
  }
}

.p-fv__inner-movie-video {
  border: .1875rem solid #c00111;
  border-radius: 1.25rem;
  display: block;
  height: auto;
  width: 100%
}

.p-fv__inner-pop {
  aspect-ratio: 310/33;
  height: auto;
  margin-block-start: 2.0625rem;
  margin-inline: auto;
  width: 14.5625rem
}

@media screen and (max-width:767px) {
  .p-fv__inner-pop {
    margin-block-start: 1.5rem;
    width: 13.375rem
  }
}

.p-fv__inner-button {
  margin-block-start: .8125rem
}

.p-fv__inner-button-link {
  display: block;
  letter-spacing: .06em;
  margin-inline: auto;
  padding-block: 1.25rem;
  padding-inline: 5rem 1.25rem;
  width: 30.75rem
}

.p-fv__inner-button-link span.narrow {
  letter-spacing: -.06em
}

.p-fv__inner-button-link:after {
  right: 4.9375rem
}

@media screen and (max-width:767px) {
  .p-fv__inner-button-link {
    font-size: max(1.75rem, 22.4px);
    padding-block: .9375rem .875rem;
    padding-inline: 1.4375rem 1.25rem;
    width: 21rem
  }
}

@media screen and (max-width:767px) and (max-width:767px) {
  .p-fv__inner-button-link {
    font-size: 1.75rem
  }
}

@media screen and (max-width:767px) {
  .p-fv__inner-button-link:after {
    right: 0.5rem
  }
}

@media (min-width:768px) and (max-width:949px) {
  .p-fv__inner-button-link {
    font-size: max(1.5rem, 19.2px)
  }
}

@media screen and (min-width:768px) and (max-width:949px) and (max-width:767px) {
  .p-fv__inner-button-link {
    font-size: 1.5rem
  }
}

@media (min-width:950px) {
  .p-fv__inner-button-link {
    font-size: max(1.875rem, 24px)
  }
}

@media screen and (min-width:950px) and (max-width:767px) {
  .p-fv__inner-button-link {
    font-size: 1.875rem
  }
}

.p-how {
  padding-block: 3.5rem 5.25rem
}

@media screen and (max-width:767px) {
  .p-how {
    padding-block: 2.375rem 4.125rem
  }
}

.p-how__inner {
  margin-inline: auto;
  max-width: 72.875rem;
  padding-inline: 2.5rem
}

@media screen and (max-width:767px) {
  .p-how__inner {
    max-width: 39rem;
    padding-inline: .75rem
  }
}

.p-how__inner-title {
  aspect-ratio: 620/72;
  height: auto;
  margin-inline: auto;
  width: 38.75rem
}

@media screen and (max-width:767px) {
  .p-how__inner-title {
    width: 21.5625rem
  }
}

.p-how__inner-items {
  display: flex;
  gap: 5.3406998158%;
  justify-content: center;
  margin-block-start: 5.1875rem
}

@media screen and (max-width:767px) {
  .p-how__inner-items {
    align-items: center;
    flex-direction: column;
    gap: 6.8125rem
  }
}

.p-how__inner-items-item {
  position: relative
}

@media screen and (max-width:767px) {
  .p-how__inner-items-item {
    width: 86.25%
  }
}

.p-how__inner-items-item-number {
  background-color: #e60013;
  border: .1875rem solid #c00111;
  border-radius: 50%;
  color: #fff;
  display: inline-block;
  font-family: Roboto, sans-serif;
  font-size: max(1.875rem, 24px);
  font-weight: 700;
  left: 50%;
  line-height: 1;
  padding: .625rem 1.0625rem .625rem 1.0625rem;
  position: absolute;
  text-align: center;
  top: -3.5625rem;
  translate: -50%;
  z-index: 1
}

@media screen and (max-width:767px) {
  .p-how__inner-items-item-number {
    font-size: 1.875rem
  }
}

.p-how__inner-items-item-number span.step {
  font-size: max(1.375rem, 17.6px)
}

@media screen and (max-width:767px) {
  .p-how__inner-items-item-number span.step {
    font-size: 1.375rem
  }
}

.p-how__inner-items-item-card {
  background-color: #fff;
  border: .1875rem solid #c00111;
  border-radius: 1.25rem;
  padding-block: 2.5rem 1.5rem;
  position: relative;
  text-align: center;
  width: 20.2916666667rem;
  overflow: hidden;
}

.p-how__inner-items-item-card.--2 {
  padding-block: 3.4375rem 1.25rem
}

@media screen and (max-width:767px) {
  .p-how__inner-items-item-card {
    margin-inline: auto;
    width: 100%
  }

  .p-how__inner-items-item-card.--2 {
    padding-block: 3.4375rem 1.25rem
  }
}

.p-how__inner-items-item:not(:last-child):after {
  background-color: #fff;
  clip-path: polygon(0 0, 0 100%, 100% 50%);
  content: "";
  height: 1.875rem;
  position: absolute;
  right: -2.5rem;
  top: 50%;
  translate: 0 -50%;
  width: 1.125rem
}

@media screen and (max-width:767px) {
  .p-how__inner-items-item:not(:last-child):after {
    bottom: -2.8125rem;
    right: 50%;
    rotate: 90deg;
    top: unset;
    translate: 50% 0
  }
}

.p-how__inner-items-item-card-head {
  color: #e60013;
  font-weight: 500;
  line-height: 1.7
}

@media screen and (max-width:767px) {
  .p-how__inner-items-item-card-head {
    font-size: max(1.25rem, 16px)
  }
}

@media screen and (max-width:767px) and (max-width:767px) {
  .p-how__inner-items-item-card-head {
    font-size: 1.25rem
  }
}

@media screen and (max-width:767px) {
  .p-how__inner-items-item-card-head span.bold {
    font-size: max(1.375rem, 17.6px);
    font-weight: 700
  }
}

@media screen and (max-width:767px) and (max-width:767px) {
  .p-how__inner-items-item-card-head span.bold {
    font-size: 1.375rem
  }
}

@media (min-width:768px) and (max-width:949px) {
  .p-how__inner-items-item-card-head {
    font-size: max(1.125rem, 14.4px)
  }
}

@media screen and (min-width:768px) and (max-width:949px) and (max-width:767px) {
  .p-how__inner-items-item-card-head {
    font-size: 1.125rem
  }
}

@media (min-width:768px) and (max-width:949px) {
  .p-how__inner-items-item-card-head span.bold {
    font-size: max(1.125rem, 14.4px);
    font-weight: 700
  }
}

@media screen and (min-width:768px) and (max-width:949px) and (max-width:767px) {
  .p-how__inner-items-item-card-head span.bold {
    font-size: 1.125rem
  }
}

@media (min-width:950px) {
  .p-how__inner-items-item-card-head {
    font-size: max(1.25rem, 16px)
  }
}

@media screen and (min-width:950px) and (max-width:767px) {
  .p-how__inner-items-item-card-head {
    font-size: 1.25rem
  }
}

@media (min-width:950px) {
  .p-how__inner-items-item-card-head span.bold {
    font-size: max(1.375rem, 17.6px);
    font-weight: 700
  }
}

@media screen and (min-width:950px) and (max-width:767px) {
  .p-how__inner-items-item-card-head span.bold {
    font-size: 1.375rem
  }
}

.p-how__inner-items-item-card-text {
  font-weight: 500;
  line-height: 1.5;
  margin-block-start: 1.1875rem
}

.p-how__inner-items-item-card-text.--2 {
  margin-block-start: 1.5rem
}

@media screen and (max-width:767px) {
  .p-how__inner-items-item-card-text {
    font-size: max(1rem, 12.8px)
  }
}

@media screen and (max-width:767px) and (max-width:767px) {
  .p-how__inner-items-item-card-text {
    font-size: 1rem
  }
}

@media screen and (max-width:767px) {
  .p-how__inner-items-item-card-text.--2 {
    margin-block-start: 1.25rem
  }
}

@media (min-width:768px) and (max-width:949px) {
  .p-how__inner-items-item-card-text {
    font-size: max(.875rem, 11.2px)
  }
}

@media screen and (min-width:768px) and (max-width:949px) and (max-width:767px) {
  .p-how__inner-items-item-card-text {
    font-size: .875rem
  }
}

@media (min-width:950px) {
  .p-how__inner-items-item-card-text {
    font-size: max(1rem, 12.8px)
  }
}

@media screen and (min-width:950px) and (max-width:767px) {
  .p-how__inner-items-item-card-text {
    font-size: 1rem
  }
}

.p-how__inner-items-item-card-image {
  margin-block-start: 1rem;
}

.p-how__inner-cta {
  aspect-ratio: 720/89;
  height: auto;
  margin-block-start: 3.75rem;
  margin-inline: auto;
  width: 45rem
}

@media screen and (max-width:767px) {
  .p-how__inner-cta {
    width: 100%;
    margin-block-start: 2.3125rem
  }
}

.p-how__inner-buttons {
  display: flex;
  gap: 7.6923076923%;
  margin-block-start: 2.0625rem;
  margin-inline: auto;
  width: 48.75rem
}

.p-how__inner-buttons-wrap {
  margin-inline: auto;
  width: 22.5rem
}

@media screen and (max-width:767px) {
  .p-how__inner-buttons-wrap {
    margin-block-start: 3.1875rem
  }

  .p-how__inner-buttons-wrap.--2 {
    margin-block-start: 1.6875rem
  }
}

.p-how__inner-buttons-pop {
  text-align: center
}

.p-how__inner-buttons-pop span.p-how__inner-buttons-pop-image {
  display: inline-block;
  height: auto
}

.p-how__inner-buttons-pop span.p-how__inner-buttons-pop-image img {
  display: block;
  height: auto;
  width: 100%
}

.p-how__inner-buttons-pop span.p-how__inner-buttons-pop-image.--1 {
  aspect-ratio: 364/33;
  width: 17.875rem
}

.p-how__inner-buttons-pop span.p-how__inner-buttons-pop-image.--2 {
  aspect-ratio: 352/33;
  width: 14.6875rem
}

@media screen and (max-width:767px) {
  .p-how__inner-buttons-pop span.p-how__inner-buttons-pop-image.--1 {
    width: 16.25rem
  }

  .p-how__inner-buttons-pop span.p-how__inner-buttons-pop-image.--2 {
    width: 13.75rem
  }
}

.p-how__inner-buttons-button {
  margin-block-start: .9375rem
}

@media screen and (max-width:767px) {
  .p-how__inner-buttons-button {
    margin-block-start: .8125rem
  }
}

.p-how__inner-buttons-button-link {
  display: block;
  letter-spacing: .06em;
  margin-inline: auto;
  width: 22.75rem
}

.p-how__inner-buttons-button-link span.narrow {
  letter-spacing: -.06em
}

.p-how__inner-buttons-button-link.--how {
  letter-spacing: unset;
  padding-block: 1.0625rem;
  padding-inline: 1.875rem 1.25rem
}

.p-how__inner-buttons-button-link.--how:after {
  right: 2.375rem
}

.p-how__inner-buttons-button-link.--entry {
  padding-block: 1.0625rem;
  padding-inline: 2rem 1.25rem
}

.p-how__inner-buttons-button-link.--entry:after {
  right: 0.9375rem
}

@media screen and (max-width:767px) {
  .p-how__inner-buttons-button-link {
    font-size: max(1.75rem, 22.4px);
    width: 20.9375rem
  }
}

@media screen and (max-width:767px) and (max-width:767px) {
  .p-how__inner-buttons-button-link {
    font-size: 1.45rem
  }
}

@media screen and (max-width:767px) {
  .p-how__inner-buttons-button-link.--how {
    padding-block: .8125rem .9375rem
  }

  .p-how__inner-buttons-button-link.--how:after {
    right: 1.75rem
  }

  .p-how__inner-buttons-button-link.--entry {
    padding-block: .8125rem;
    padding-inline: 1.2875rem 1.25rem
  }

  .p-how__inner-buttons-button-link.--entry:after {
    right: 0.85rem
  }
}

@media (min-width:768px) and (max-width:949px) {
  .p-how__inner-buttons-button-link {
    font-size: max(1.5rem, 19.2px)
  }
}

@media screen and (min-width:768px) and (max-width:949px) and (max-width:767px) {
  .p-how__inner-buttons-button-link {
    font-size: 1.5rem
  }
}

@media (min-width:950px) {
  .p-how__inner-buttons-button-link {
    font-size: max(1.875rem, 24px)
  }
}

@media (min-width:950px) {
  .p-how__inner-buttons-button-link.--entry {
    font-size: max(1.375rem, 24px)
  }
}

@media screen and (min-width:950px) and (max-width:767px) {
  .p-how__inner-buttons-button-link {
    font-size: 1.875rem
  }
}

.p-point {
  padding-block: 3.5rem 5.0625rem
}

@media screen and (max-width:767px) {
  .p-point {
    padding-block: 2.5rem 4.875rem
  }
}

.p-point__inner {
  margin-inline: auto;
  max-width: 67.5rem;
  padding-inline: 2.5rem
}

@media screen and (max-width:767px) {
  .p-point__inner {
    max-width: 40rem;
    padding-inline: 1.25rem
  }
}

.p-point__inner-container {
  background-color: #fff;
  border-radius: 1.25rem;
  padding: 2.5rem
}

@media screen and (max-width:767px) {
  .p-point__inner-container {
    padding: 1.875rem 1rem .875rem
  }
}

.p-point__inner-container-title {
  color: #e60013;
  font-size: 4.5rem;
  font-weight: 900;
  text-align: center
}

@media screen and (max-width:767px) {
  .p-point__inner-container-title {
    font-size: max(2.5rem, 32px)
  }
}

@media screen and (max-width:767px) and (max-width:767px) {
  .p-point__inner-container-title {
    font-size: 2.5rem
  }
}

.p-point__inner-items {
  display: flex;
  flex-direction: column;
  gap: 1.75rem;
  margin-block-start: 1.75rem;
  margin-inline: auto;
  max-width: 48.125rem
}

@media screen and (max-width:767px) {
  .p-point__inner-items {
    margin-block-start: 1.9375rem;
    width: 100%
  }
}

.p-point__inner-items-item {
  align-items: center;
  border: .1875rem solid #c00111;
  border-radius: 4.375rem;
  display: grid;
  grid-template-columns: 8.25rem 1fr;
  padding-inline-end: 2.9375rem
}

@media screen and (max-width:767px) {
  .p-point__inner-items-item {
    border: none;
    border-radius: 0;
    display: block;
    margin-inline: auto;
    max-width: 20.625rem;
    padding-inline: .75rem;
    width: 100%
  }
}

.p-point__inner-items-item-number {
  aspect-ratio: 136/136;
  background-color: #e60013;
  border: .1875rem solid #c00111;
  border-radius: 50%;
  color: #fff;
  display: inline-block;
  font-family: Roboto, sans-serif;
  font-size: max(1.875rem, 24px);
  font-weight: 700;
  height: auto;
  left: -.1875rem;
  line-height: 1;
  padding: 1.9375rem .625rem 1.75rem;
  position: relative;
  text-align: center;
  top: calc(50% - .0625rem);
  translate: 0 -50%;
  width: 8.1875rem
}

@media screen and (max-width:767px) {
  .p-point__inner-items-item-number {
    font-size: 1.875rem
  }
}

.p-point__inner-items-item-number span.step {
  font-size: max(1.375rem, 17.6px)
}

@media screen and (max-width:767px) {
  .p-point__inner-items-item-number span.step {
    font-size: 1.375rem
  }

  .p-point__inner-items-item-number {
    align-items: center;
    aspect-ratio: unset;
    border: none;
    border-radius: .9375rem;
    display: inline-flex;
    font-size: max(1.375rem, 17.6px);
    gap: .375rem;
    padding: .1875rem .5625rem .1875rem .5rem;
    position: static;
    translate: none;
    width: auto
  }
}

@media screen and (max-width:767px) and (max-width:767px) {
  .p-point__inner-items-item-number {
    font-size: 1.375rem
  }
}

@media screen and (max-width:767px) {
  .p-point__inner-items-item-number span.step {
    font-size: max(1.375rem, 17.6px)
  }
}

@media screen and (max-width:767px) and (max-width:767px) {
  .p-point__inner-items-item-number span.step {
    font-size: 1.375rem
  }
}

.p-point__inner-items-item-wrap {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin-inline-start: 1.0625rem
}

@media screen and (max-width:767px) {
  .p-point__inner-items-item-wrap {
    border-bottom: .1875rem solid #e60013;
    display: block;
    margin-block-start: .625rem;
    margin-inline-start: 0;
    padding-block-end: 3.75rem;
    position: relative
  }

  .p-point__inner-items-item-wrap.--3 {
    border-bottom: none;
    padding-block-end: 5rem
  }
}

.p-point__inner-items-item-wrap-texts-head {
  font-size: max(1.5rem, 19.2px);
  font-weight: 800;
  line-height: 1.5
}

@media screen and (max-width:767px) {
  .p-point__inner-items-item-wrap-texts-head {
    font-size: 1.5rem;
    font-size: max(1.375rem, 17.6px)
  }
}

@media screen and (max-width:767px) and (max-width:767px) {
  .p-point__inner-items-item-wrap-texts-head {
    font-size: 1.375rem
  }
}

.p-point__inner-items-item-wrap-texts-text {
  font-size: max(1rem, 12.8px);
  font-weight: 500;
  line-height: 1.5;
  margin-block-start: .25rem
}

@media screen and (max-width:767px) {
  .p-point__inner-items-item-wrap-texts-text {
    font-size: 1rem
  }
}

.p-point__inner-items-item-wrap-image {
  aspect-ratio: 110/110;
  height: auto;
  width: 6.875rem
}

.p-point__inner-items-item-wrap-image.--3 {
  width: 7.5rem
}

@media screen and (max-width:767px) {
  .p-point__inner-items-item-wrap-image {
    bottom: 0;
    position: absolute;
    right: -1.875rem
  }

  .p-point__inner-items-item-wrap-image.--3 {
    width: 6.25rem
  }
}

.p-point__inner-bottom {
  margin-block-start: 2.375rem;
  text-align: center
}

.p-point__inner-bottom-pop {
  background-color: #00a0e9;
  border-radius: 2.5rem;
  color: #fff;
  display: inline-block;
  font-size: max(1.875rem, 24px);
  font-weight: 700;
  line-height: 1.5;
  padding: .4375rem 1.8125rem .4375rem 1.875rem;
  position: relative
}

@media screen and (max-width:767px) {
  .p-point__inner-bottom-pop {
    font-size: 1.875rem
  }
}

.p-point__inner-bottom-pop:after {
  background-color: #00a0e9;
  bottom: -.75rem;
  clip-path: polygon(50% 100%, 0 0, 100% 0);
  content: "";
  height: .75rem;
  left: calc(50% - .25rem);
  position: absolute;
  translate: -50%;
  width: 1.5625rem
}

.p-point__inner-bottom-items {
  display: flex;
  flex-direction: column;
  gap: 1.875rem;
  margin-block-start: 1.5rem;
  margin-inline: auto;
  max-width: 48.125rem
}

@media screen and (max-width:767px) {
  .p-point__inner-bottom-items {
    align-items: center;
    gap: 1.125rem;
    margin-block-start: 2.375rem
  }
}

.p-point__inner-bottom-items-item {
  -moz-column-gap: 1.625rem;
  align-items: center;
  border: .1875rem solid #00a0e9;
  border-radius: 1.25rem;
  column-gap: 1.625rem;
  display: grid;
  grid-template-columns: 12rem 1fr;
  padding: .3125rem 1.875rem .5rem 2.5625rem
}

@media screen and (max-width:767px) {
  .p-point__inner-bottom-items-item {
    border-radius: .75rem;
    display: grid;
    grid-template-areas: "head""image""text";
    grid-template-columns: 1fr;
    max-width: 25rem;
    padding: 1.5rem .9375rem;
    row-gap: .25rem;
    width: 100%
  }
}

.p-point__inner-bottom-items-item-image {
  height: auto;
  margin-inline: auto
}

.p-point__inner-bottom-items-item-image.--1 {
  aspect-ratio: 161/164;
  width: 10.0625rem
}

.p-point__inner-bottom-items-item-image.--2 {
  aspect-ratio: 192/170;
  width: 12rem
}

@media screen and (max-width:767px) {
  .p-point__inner-bottom-items-item-image {
    grid-area: image;
    justify-self: center
  }
}

.p-point__inner-bottom-items-item-body {
  text-align: start
}

@media screen and (max-width:767px) {
  .p-point__inner-bottom-items-item-body {
    display: contents
  }
}

.p-point__inner-bottom-items-item-body-head {
  font-size: max(1.5rem, 19.2px);
  font-weight: 800;
  line-height: 1.5
}

@media screen and (max-width:767px) {
  .p-point__inner-bottom-items-item-body-head {
    font-size: 1.5rem;
    grid-area: head;
    text-align: center
  }
}

.p-point__inner-bottom-items-item-body-text {
  font-size: max(1rem, 12.8px);
  font-weight: 500;
  line-height: 1.5;
  margin-block-start: .5rem
}

@media screen and (max-width:767px) {
  .p-point__inner-bottom-items-item-body-text {
    font-size: 1rem;
    grid-area: text
  }
}

.p-show {
  padding-block: 2.5rem 5.0625rem
}

@media screen and (max-width:767px) {
  .p-show {
    padding-block: 2.5rem 3.75rem
  }
}

.p-show__inner {
  margin-inline: auto;
  max-width: 87rem;
  padding-inline: 2.5rem
}

@media screen and (max-width:767px) {
  .p-show__inner {
    max-width: 40rem;
    padding-inline: 1.25rem
  }
}

.p-show__inner-image {
  aspect-ratio: 873/600;
  height: auto;
  margin-inline: auto;
  width: 54.5625rem
}

@media screen and (max-width:767px) {
  .p-show__inner-image {
    width: 100%
  }
}

.p-show__inner-title {
  margin-block-start: 4.375rem;
  text-align: center
}

@media screen and (max-width:767px) {
  .p-show__inner-title {
    margin-block-start: 2.25rem
  }
}

.p-show__inner-title-image {
  aspect-ratio: 917/145;
  height: auto;
  width: 57.3125rem
}

@media screen and (max-width:767px) {
  .p-show__inner-title-image {
    aspect-ratio: 331/114;
    height: auto;
    width: 20.6875rem
  }
}

.p-show__inner-items {
  align-items: center;
  display: flex;
  gap: 2.25rem;
  margin-block-start: 2.8125rem
}

@media screen and (max-width:767px) {
  .p-show__inner-items {
    flex-direction: column;
    gap: 2.375rem;
    margin-block-start: 2rem
  }
}

.p-show__inner-items-image {
  aspect-ratio: 660/451;
  height: auto;
  width: 41.25rem
}

@media screen and (max-width:767px) {
  .p-show__inner-items-image {
    width: 19.5rem
  }

  .p-show__inner-items-wrap {
    width: 100%
  }
}

.p-show__inner-items-wrap-pop {
  text-align: center
}

.p-show__inner-items-wrap-pop-image {
  aspect-ratio: 525/35;
  height: auto;
  width: 32.8125rem
}

@media screen and (max-width:767px) {
  .p-show__inner-items-wrap-pop-image {
    width: 20.625rem
  }
}

.p-show__inner-items-wrap-movie {
  margin-block-start: 1.25rem;
  width: 40rem
}

@media screen and (max-width:767px) {
  .p-show__inner-items-wrap-movie {
    margin-block-start: .625rem;
    width: 100%
  }
}

.p-show__inner-items-wrap-movie-video {
  aspect-ratio: 640/361;
  border: .1875rem solid #c00111;
  border-radius: 1.25rem;
  display: block;
  height: auto;
  width: 100%
}

@media screen and (max-width:767px) {
  .p-show__inner-items-wrap-movie-video {
    aspect-ratio: 360/212
  }
}

.p-use {
  padding-block: 4.125rem 5.125rem
}

@media screen and (max-width:767px) {
  .p-use {
    padding-block: 3rem 3.9375rem
  }
}

.p-use__inner {
  margin-inline: auto;
  max-width: 73.75rem;
  padding-inline: 2.5rem
}

@media screen and (max-width:767px) {
  .p-use__inner {
    max-width: 38.75rem;
    padding-inline: .625rem
  }
}

.p-use__inner-sub-title {
  text-align: center
}

.p-use__inner-sub-title-image {
  aspect-ratio: 453/72;
  height: auto;
  width: 20rem
}

@media screen and (max-width:767px) {
  .p-use__inner-sub-title-image {
    aspect-ratio: 423/72;
    width: 12.5rem
  }
}

.p-use__inner-title {
  margin-block-start: .875rem;
  text-align: center
}

@media screen and (max-width:767px) {
  .p-use__inner-title {
    margin-block-start: .625rem
  }
}

.p-use__inner-title-image {
  aspect-ratio: 648/72;
  height: auto;
  width: 40.5rem
}

@media screen and (max-width:767px) {
  .p-use__inner-title-image {
    width: 22.5rem
  }
}

.p-use__inner-items {
  display: flex;
  gap: 3.6363636364%;
  margin-block-start: 2.375rem
}

@media screen and (max-width:767px) {
  .p-use__inner-items {
    flex-direction: column;
    gap: 1.5rem;
    margin-block-start: 1.6875rem;
    padding-inline: .9375rem
  }
}

.p-use__inner-items-item {
  background-color: #fff;
  border: .1875rem solid #c00111;
  border-radius: 1.25rem;
  padding: 1.25rem;
  text-align: center;
  width: 21.25rem
}

@media screen and (max-width:767px) {
  .p-use__inner-items-item {
    width: 100%
  }
}

@media (any-hover:hover) {
  .p-use__inner-items-item:focus, .p-use__inner-items-item:hover {
    scale: 1.1
  }
}

.p-use__inner-items-item-head {
  color: #e60013;
  font-size: max(1.5rem, 19.2px);
  font-weight: 800;
  line-height: 1.5
}

@media screen and (max-width:767px) {
  .p-use__inner-items-item-head {
    font-size: 1.5rem
  }
}

.p-use__inner-items-item-text {
  font-weight: 500;
  line-height: 1.5;
  margin-block-start: .75rem
}

.p-use__inner-items-item-text.--3 {
  margin-block-start: 1.5rem
}

@media screen and (max-width:767px) {
  .p-use__inner-items-item-text {
    font-size: max(1rem, 12.8px)
  }
}

@media screen and (max-width:767px) and (max-width:767px) {
  .p-use__inner-items-item-text {
    font-size: 1rem
  }
}

@media (min-width:768px) and (max-width:829px) {
  .p-use__inner-items-item-text {
    font-size: max(.9375rem, 12px)
  }
}

@media screen and (min-width:768px) and (max-width:829px) and (max-width:767px) {
  .p-use__inner-items-item-text {
    font-size: .9375rem
  }
}

@media (min-width:830px) {
  .p-use__inner-items-item-text {
    font-size: max(1rem, 12.8px)
  }
}

@media screen and (min-width:830px) and (max-width:767px) {
  .p-use__inner-items-item-text {
    font-size: 1rem
  }
}

.p-use__inner-items-item-image {
  aspect-ratio: 300/88;
  height: auto;
  margin-block-start: .75rem;
  width: 18.75rem
}

.p-use__inner-items-item-image.--3 {
  margin-block-start: 1.5rem
}

@media screen and (max-width:767px) {
  .p-use__inner-items-item-image {
    margin-inline: auto
  }
}

@media (min-width:768px) {
  .u-sp {
    display: none
  }
}

@media screen and (max-width:767px) {
  .u-pc {
    display: none
  }
}

.u-title-hidden {
  clip: rect(0 0 0 0);
  border: 0;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px
}
