.mv {
  width: 100%;
  overflow: hidden;
  background: #FFF7E8;
  padding-top: 7rem;
}
.mv__inner {
  position: relative;
  width: 100%;
  max-width: 1920px;
  margin-inline: auto;
  aspect-ratio: 1920/900;
}
@media screen and (max-width: 767px) {
  .mv__inner {
    aspect-ratio: auto;
    height: auto;
    min-height: 0;
    max-height: none;
    padding: 40px 0 50px;
  }
}
.mv__content {
  position: absolute;
  top: 15%;
  left: 3%;
  width: 48%;
  z-index: 10;
}
@media screen and (max-width: 767px) {
  .mv__content {
    position: static;
    width: 100%;
  }
}
.mv__title {
  width: 100%;
  margin: 0;
}
@media screen and (max-width: 767px) {
  .mv__title {
    width: 88%;
    margin-inline: auto;
  }
}
.mv__title img {
  display: block;
  width: 100%;
  height: auto;
}
.mv__intro {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5%;
  width: 100%;
  margin-top: 3%;
}
@media screen and (max-width: 767px) {
  .mv__intro {
    position: static;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 88%;
    margin: 20px auto 0;
  }
}
.mv__character {
  width: 25%;
  height: auto;
}
@media screen and (max-width: 767px) {
  .mv__character {
    width: 100px;
  }
}
.mv__text {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  margin: 0;
  font-size: clamp(14px, 2vw, 32px);
  line-height: 1.8;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .mv__text {
    margin-top: 20px;
    font-size: 14px;
    line-height: 2;
    text-align: center;
  }
}
.mv__photos {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .mv__photos {
    position: relative;
    width: 100%;
    height: clamp(350px, 84vw, 620px);
    margin-top: 10px;
  }
}
.mv__photo {
  position: absolute;
  opacity: 0;
}
.mv__photo img {
  display: block;
  width: 100%;
  height: auto;
}
.mv__photo--01 {
  top: 5%;
  left: 50.5%;
  width: 36%;
  -webkit-transform: translateY(20px) scale(0.98) rotate(-6deg);
          transform: translateY(20px) scale(0.98) rotate(-6deg);
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .mv__photo--01 {
    top: 10px;
    left: 8%;
    width: 72%;
  }
}
.mv__photo--02 {
  top: 48%;
  left: 57%;
  width: 34%;
  -webkit-transform: translateY(20px) scale(0.98) rotate(1deg);
          transform: translateY(20px) scale(0.98) rotate(1deg);
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .mv__photo--02 {
    top: clamp(174px, 36vw, 260px);
    right: 2%;
    left: auto;
    width: 54%;
  }
}
.mv__photo--03 {
  top: 17%;
  left: 79%;
  width: 18%;
  -webkit-transform: translateY(20px) scale(0.98) rotate(7deg);
          transform: translateY(20px) scale(0.98) rotate(7deg);
  z-index: 3;
}
@media screen and (max-width: 767px) {
  .mv__photo--03 {
    top: clamp(180px, 39vw, 275px);
    left: 6%;
    width: 39%;
  }
}
.mv__plane {
  position: absolute;
  top: 9%;
  left: 39%;
  width: 6%;
  z-index: 20;
  opacity: 0;
  -webkit-transform: translate(-20px, 20px) scale(0.8);
          transform: translate(-20px, 20px) scale(0.8);
}
@media screen and (max-width: 767px) {
  .mv__plane {
    top: 8px;
    left: 84%;
    width: 13.33vw;
  }
}
.mv__plane img {
  display: block;
  width: 100%;
  height: auto;
}
.mv.is-show .mv__photo--01 {
  -webkit-animation: photoFadeIn01 0.8s ease forwards;
          animation: photoFadeIn01 0.8s ease forwards;
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s;
}
.mv.is-show .mv__photo--02 {
  -webkit-animation: photoFadeIn02 0.8s ease forwards;
          animation: photoFadeIn02 0.8s ease forwards;
  -webkit-animation-delay: 0.5s;
          animation-delay: 0.5s;
}
.mv.is-show .mv__photo--03 {
  -webkit-animation: photoFadeIn03 0.8s ease forwards;
          animation: photoFadeIn03 0.8s ease forwards;
  -webkit-animation-delay: 0.8s;
          animation-delay: 0.8s;
}
.mv.is-show .mv__plane {
  -webkit-animation: planeFadeIn 0.8s ease-out forwards;
          animation: planeFadeIn 0.8s ease-out forwards;
  -webkit-animation-delay: 1.3s;
          animation-delay: 1.3s;
}

@-webkit-keyframes photoFadeIn01 {
  from {
    opacity: 0;
    -webkit-transform: translateY(20px) scale(0.98) rotate(-6deg);
            transform: translateY(20px) scale(0.98) rotate(-6deg);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0) scale(1) rotate(-6deg);
            transform: translateY(0) scale(1) rotate(-6deg);
  }
}

@keyframes photoFadeIn01 {
  from {
    opacity: 0;
    -webkit-transform: translateY(20px) scale(0.98) rotate(-6deg);
            transform: translateY(20px) scale(0.98) rotate(-6deg);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0) scale(1) rotate(-6deg);
            transform: translateY(0) scale(1) rotate(-6deg);
  }
}
@-webkit-keyframes photoFadeIn02 {
  from {
    opacity: 0;
    -webkit-transform: translateY(20px) scale(0.98) rotate(1deg);
            transform: translateY(20px) scale(0.98) rotate(1deg);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0) scale(1) rotate(1deg);
            transform: translateY(0) scale(1) rotate(1deg);
  }
}
@keyframes photoFadeIn02 {
  from {
    opacity: 0;
    -webkit-transform: translateY(20px) scale(0.98) rotate(1deg);
            transform: translateY(20px) scale(0.98) rotate(1deg);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0) scale(1) rotate(1deg);
            transform: translateY(0) scale(1) rotate(1deg);
  }
}
@-webkit-keyframes photoFadeIn03 {
  from {
    opacity: 0;
    -webkit-transform: translateY(20px) scale(0.98) rotate(7deg);
            transform: translateY(20px) scale(0.98) rotate(7deg);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0) scale(1) rotate(7deg);
            transform: translateY(0) scale(1) rotate(7deg);
  }
}
@keyframes photoFadeIn03 {
  from {
    opacity: 0;
    -webkit-transform: translateY(20px) scale(0.98) rotate(7deg);
            transform: translateY(20px) scale(0.98) rotate(7deg);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0) scale(1) rotate(7deg);
            transform: translateY(0) scale(1) rotate(7deg);
  }
}
@-webkit-keyframes planeFadeIn {
  from {
    opacity: 0;
    -webkit-transform: translate(-20px, 20px) scale(0.8);
            transform: translate(-20px, 20px) scale(0.8);
  }
  to {
    opacity: 1;
    -webkit-transform: translate(0, 0) scale(1);
            transform: translate(0, 0) scale(1);
  }
}
@keyframes planeFadeIn {
  from {
    opacity: 0;
    -webkit-transform: translate(-20px, 20px) scale(0.8);
            transform: translate(-20px, 20px) scale(0.8);
  }
  to {
    opacity: 1;
    -webkit-transform: translate(0, 0) scale(1);
            transform: translate(0, 0) scale(1);
  }
}
.service__container {
  max-width: 1200px;
  margin: 5rem auto;
}
.service__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin-top: 3.6rem;
  gap: 2.4rem;
}
@media only screen and (max-width: 767px) {
  .service__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 4rem;
  }
}
@media only screen and (max-width: 767px) {
  .service__item {
    max-width: 66.6vw;
    margin: 0 auto;
    display: block;
  }
}
.service__text {
  font-size: 2rem;
  font-weight: bold;
  margin-top: 3.6rem;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .service__text {
    margin-top: 1rem;
  }
}
.service__text span {
  font-size: 1.5rem;
}

.point__container {
  background: #FFF7E8;
}
.point__content {
  max-width: 120rem;
  margin: 0 auto;
  padding: 5rem 0;
}
@media only screen and (max-width: 767px) {
  .point__content {
    padding: 5rem 1.6rem;
  }
}
.point__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin-top: 6rem;
  gap: 2.4rem;
}
@media only screen and (max-width: 767px) {
  .point__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 3rem;
    margin-top: 5rem;
  }
}
.point__item {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  border-right: 1px solid #000;
  padding-right: 2.4rem;
  height: -webkit-fill-available;
  height: -moz-available;
  height: stretch;
}
@media only screen and (max-width: 767px) {
  .point__item {
    border-right: none;
    padding-right: 0;
    margin: 0 auto;
  }
}
.point__item img {
  max-width: 13.8rem;
  width: 100%;
  display: block;
  margin: 0 auto;
}
.point__item p {
  font-size: 2rem;
  font-weight: bold;
  line-height: 200%;
  text-align: center;
  margin-top: 3rem;
}
@media only screen and (max-width: 767px) {
  .point__item p {
    font-size: 1.5rem;
    margin-top: 1rem;
  }
}
.point__item:last-child {
  border-right: none;
  padding-right: none;
}

.photo__container {
  margin: 5rem 0;
}
.photo__slider {
  overflow: hidden;
  width: 100%;
}
.photo__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  gap: 2.86vw;
  -webkit-animation: slider 70s linear infinite;
          animation: slider 70s linear infinite;
}
.photo__item img {
  display: block;
  max-width: 34rem;
  width: 100%;
  height: auto;
}
@media only screen and (max-width: 767px) {
  .photo__item img {
    max-width: 19rem;
  }
}
.photo__item:nth-child(2n) img {
  margin-top: 100px;
}
.photo__item:nth-child(2n-1) {
  margin-bottom: 100px;
}

@-webkit-keyframes slider {
  from {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}

@keyframes slider {
  from {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
.contact__container {
  background: #FFF7E8;
}
@media only screen and (max-width: 767px) {
  .contact__container {
    padding: 0 1.6rem;
  }
}
.contact__content {
  max-width: 1200px;
  margin: 0 auto;
  padding: 5rem 0;
}
.contact__area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2.4rem;
}
.contact__area img {
  max-width: 22.4rem;
  width: 100%;
}
@media only screen and (max-width: 767px) {
  .contact__area img {
    max-width: 10rem;
  }
}
.contact__area--wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2.4rem;
}
@media only screen and (max-width: 767px) {
  .contact__area--wrap {
    display: block;
  }
}
.contact__text p {
  line-height: 1.5;
  margin-top: 2rem;
}
.contact__text p:first-child {
  font-size: 1.5rem;
}
.contact__text p:last-child {
  font-size: 1.4rem;
}

.banner__kuma {
  background: #FFF7E8;
  padding: 3rem 0;
}
.banner__kuma--inner {
  margin: 0 auto;
  display: block;
  max-width: 1200px;
  width: 100%;
}