.heisei-nomal {
  font-family: "heisei-kaku-gothic-std", sans-serif;
  font-weight: 500;
  font-style: normal;
}
.heisei-bold {
  font-family: "heisei-kaku-gothic-std", sans-serif;
  font-weight: 700;
  font-style: normal;
}
@font-face {
  font-family: "futura-pt";
  src: url(/wp-content/themes/yunige/assets/fonts/Futura.ttc);
}
@font-face {
  font-family: "futura-bold";
  src: url(/wp-content/themes/yunige/assets/fonts/FuturaPT/FuturaPT-Bold.otf);
}
.futura-nomal {
  font-family: "futura-pt", sans-serif;
  font-weight: 500;
  font-style: normal;
}
.futura-bold {
  font-family: "futura-bold", sans-serif;
}
main {
  max-width: 100vw;
  overflow-x: hidden;
}
main .top-kv .title {
  font-family: "heisei-kaku-gothic-std", sans-serif !important;
  font-weight: 700 !important;
  font-style: normal !important;
}
@media screen and (max-width: 639px) {
  main .top-kv {
    background-image: url(/wp-content/themes/yunige/assets/images/service/kv_sp.webp);
  }
  main .top-kv .title {
    letter-spacing: 0.4rem;
    text-align: center;
  }
  main .top-kv .sub-title {
    font-size: 1.4rem !important;
    line-height: 2.8rem !important;
    padding: 0 1.6rem;
  }
}
@media screen and (min-width: 640px) {
  main .top-kv {
    background-image: url(/wp-content/themes/yunige/assets/images/service/kv.webp);
  }
}
main .service {
  background-color: var(--secondary);
  padding-bottom: 12rem;
}
main .service .red-arrow-text {
  margin-top: 1rem;
}
main .service .red-arrow-text span {
  line-height: 0;
  font-size: 1.6rem;
  color: var(--main-red);
  font-family: "heisei-kaku-gothic-std", sans-serif;
  font-weight: 700;
  font-style: normal;
  position: relative;
}
@media screen and (max-width: 639px) {
  main .service .red-arrow-text span {
    top: 1rem;
  }
}
@media screen and (min-width: 640px) {
  main .service .red-arrow-text span {
    top: 2rem;
  }
}
@media screen and (max-width: 639px) {
  main .service .red-arrow-text img {
    width: 25.6rem;
  }
}
@media screen and (min-width: 640px) {
  main .service .red-arrow-text img {
    width: 45.6rem;
  }
}
@media screen and (min-width: 640px) {
  main .service__list {
    width: 104rem;
    margin: 3rem auto 0 auto;
  }
  main .service__list ._reverse .service__list-item--image {
    right: 0 ;
    left: initial ;
  }
  main .service__list ._reverse .service__list-item--text-group {
    margin-right: auto;
    margin-left: 2rem;
  }
  main .service__list ._reverse ._title,
  main .service__list ._reverse ._content {
    margin-right: auto;
    margin-left: 7rem;
  }
  main .service__list-item {
    position: relative;
    margin-bottom: 8rem;
  }
  main .service__list-item--image {
    width: 28.6rem;
    height: 28.6rem;
    background-color: white;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    z-index: 3;
    left: 0;
    top: -3.4rem;
    box-shadow: 0 0.4rem 0.4rem rgba(0, 0, 0, 0.25);
  }
  main .service__list-item--image .icon {
    height: 100%;
  }
  main .service__list-item:nth-child(1) .icon {
    width: 17.6rem;
    height: 11rem;
  }
  main .service__list-item:nth-child(2) .icon {
    width: 14.7rem;
    height: 8.4rem;
  }
  main .service__list-item:nth-child(3) .icon {
    width: 12.6rem;
    height: 12.6rem;
  }
  main .service__list-item--text-group {
    width: 87rem;
    margin-left: auto;
    margin-right: 2rem;
    padding: 3.2rem 0;
    position: relative;
    z-index: 1;
  }
  main .service__list-item--text-group:has(.brown-bg) .white-bg::after {
    left: -12rem;
    background-color: #3d302b;
  }
  main .service__list-item--text-group:has(.red-bg) .white-bg::after {
    right: -12rem;
    background-color: var(--main-red);
  }
  main .service__list-item--text-group .white-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: white;
    z-index: 2;
    border-top-left-radius: 5rem;
    border-top-right-radius: 5rem;
    overflow: hidden;
  }
  main .service__list-item--text-group .white-bg::after {
    content: '';
    position: absolute;
    bottom: -12rem;
    width: 18rem;
    height: 18rem;
    z-index: 2;
    border-radius: 50%;
  }
  main .service__list-item--text-group .brown-bg {
    position: absolute;
    top: 2rem;
    left: -2rem;
    height: 100%;
    width: 87rem;
    background-color: #3d302b;
    border-bottom-left-radius: 5rem;
    z-index: -1;
  }
  main .service__list-item--text-group .red-bg {
    position: absolute;
    top: 2rem;
    right: -2rem;
    height: 100%;
    width: 87rem;
    background-color: var(--main-red);
    border-bottom-right-radius: 5rem;
    z-index: -1;
  }
  main .service__list-item--text-group h3 {
    font-size: 2.4rem;
    line-height: 3.6rem;
    color: var(--main-red);
    font-family: "heisei-kaku-gothic-std", sans-serif;
    font-weight: 700;
    font-style: normal;
    margin-bottom: 2rem;
  }
  main .service__list-item--text-group ._title,
  main .service__list-item--text-group ._content {
    max-width: 61rem;
    margin-left: auto;
    margin-right: 7rem;
    position: relative;
    z-index: 3;
    text-align: justify;
  }
}
@media screen and (max-width: 640px) {
  main .service .section-head h2 {
    font-size: 2rem;
    padding-top: 1.6rem !important;
  }
  main .service__list-item .red-bg {
    width: 100%;
    height: 100%;
    position: absolute;
    bottom: -2rem;
    left: 2rem;
    background-color: var(--main-red);
    z-index: -1;
    border-bottom-right-radius: 5rem;
  }
  main .service__list-item .brown-bg {
    width: 100%;
    height: 100%;
    position: absolute;
    bottom: -2rem;
    left: 2rem;
    background-color: #3d302b;
    z-index: -1;
    border-bottom-right-radius: 5rem;
  }
  main .service__list-item:has(.brown-bg) .service__list-inside::after {
    background-color: #3d302b !important;
  }
  main .service__list-item:has(.red-bg) .service__list-inside::after {
    background-color: var(--main-red);
  }
  main .service__list-item .white-bg {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    border-top-left-radius: 5rem;
    background-color: white;
    z-index: 2;
    overflow: hidden;
  }
  main .service__list-item .first {
    height: 42rem;
  }
  main .service__list-item .first .white-bg {
    height: 40rem;
  }
  main .service__list-item .second {
    height: 55rem;
  }
  main .service__list-item .second .white-bg {
    height: 53rem;
  }
  main .service__list-item .third {
    height: 46rem;
  }
  main .service__list-item .third .white-bg {
    height: 44rem;
  }
  main .service__list-item .service__list-inside {
    margin: 1.4rem 4rem 5rem 2rem;
    padding: 4rem 2rem;
    position: relative;
    z-index: 3;
    overflow: hidden;
    border-bottom-right-radius: 5rem;
    width: 33rem;
  }
  main .service__list-item .service__list-inside .white-bg {
    width: 31rem;
  }
  main .service__list-item .service__list-inside::after {
    content: '';
    position: absolute;
    bottom: -3rem;
    width: 9rem;
    height: 9rem;
    right: -3rem;
    z-index: 2;
    border-radius: 50%;
    background-color: var(--main-red);
  }
  main .service__list-item .service__list-inside .service__list-item--image {
    position: relative;
    z-index: 3;
    width: 8rem;
    margin: 0 auto 1.6rem auto;
  }
  main .service__list-item .service__list-inside .service__list-item--image img {
    width: 100%;
  }
  main .service__list-item .service__list-inside .service__list-item--text-group {
    padding-right: 2rem;
  }
  main .service__list-item .service__list-inside .service__list-item--text-group ._title {
    font-size: 2rem;
    line-height: 3.6rem;
    color: var(--main-red);
    font-family: "heisei-kaku-gothic-std", sans-serif;
    font-weight: 700;
    font-style: normal;
    text-align: center;
    padding-bottom: 1.6rem;
    position: relative;
    z-index: 4;
  }
  main .service__list-item .service__list-inside .service__list-item--text-group ._title::after {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 0;
    width: 3rem;
    height: 0.3rem;
    background-color: var(--main-red);
    z-index: 5;
  }
  main .service__list-item .service__list-inside .service__list-item--text-group ._content {
    color: #717171;
    font-size: 1.4rem;
    line-height: 2.8rem;
    position: relative;
    z-index: 4;
    text-align: justify;
  }
}
main .intro {
  padding-bottom: 2rem;
}
@media screen and (max-width: 639px) {
  main .intro .section-head h2 {
    font-size: 2rem;
    letter-spacing: 0.1rem;
    line-height: 3.6rem;
  }
  main .intro .section-head .large-tips {
    font-size: 1.4rem;
    line-height: 2.8rem;
    text-align: center;
  }
  main .intro__part:nth-child(3) {
    flex-direction: column-reverse !important;
  }
}
main .intro__part {
  background-color: #f4f4f4;
  width: 90vw;
  margin: 0 auto;
  padding: 6rem 2rem;
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  border-radius: 2rem;
  margin-bottom: 6rem;
}
main .intro__part .second-part .title {
  color: #333 !important;
}
main .intro__part .second-part .title::after {
  background-color: #333 !important;
}
main .intro__part .head-intro {
  margin-top: 0;
}
main .intro__part .head-intro .title {
  font-size: 2.8rem;
  line-height: 3.6rem;
  color: var(--main-red);
  padding-top: 1.5rem;
  font-family: "heisei-kaku-gothic-std", sans-serif;
  font-weight: 700;
  font-style: normal;
  margin-bottom: 3.2rem;
  position: relative;
  text-align: center;
}
main .intro__part .head-intro .title::after {
  content: '';
  position: absolute;
  top: 0;
  left: 40%;
  background-color: var(--main-red);
  width: 6rem;
  height: 0.3rem;
}
main .intro__part .head-intro .content {
  font-size: 1.4rem;
  line-height: 2.8rem;
  font-family: "heisei-kaku-gothic-std", sans-serif;
  font-weight: 500;
  font-style: normal;
  color: #333;
  text-align: justify;
}
main .intro__part .grid-intro {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  grid-gap: 2.8rem;
  margin-top: 4rem;
}
main .intro__part .grid-intro__item {
  border-radius: 0.8rem;
  background-color: white;
  box-shadow: 0 0.4rem 1.8rem rgba(30, 30, 30, 0.25);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 2rem 2.5rem;
}
main .intro__part .grid-intro__item img {
  width: 4.2rem;
}
main .intro__part .grid-intro__item .sub-title {
  padding: 0.8rem 0;
  font-size: 1.6rem;
  font-family: "heisei-kaku-gothic-std", sans-serif;
  font-weight: 700;
  font-style: normal;
}
main .intro__part .grid-intro__item p {
  font-size: 1.4rem;
  line-height: 2.8rem;
  text-align: justify;
}
@media screen and (min-width: 640px) {
  main .intro {
    padding-bottom: 2rem;
  }
  main .intro__part {
    width: 124rem;
    margin: 0 auto;
    padding: 5rem 10rem;
    flex-direction: row;
    border-radius: 2rem;
    margin-bottom: 6rem;
  }
  main .intro__part .second-part .title {
    color: #333 !important;
  }
  main .intro__part .second-part .title::after {
    background-color: #333 !important;
  }
  main .intro__part .head-intro {
    width: 38.8rem;
    margin-top: 2rem;
  }
  main .intro__part .head-intro .title {
    font-size: 2.8rem;
    line-height: 3.6rem;
    padding-top: 1.5rem;
    margin-bottom: 3.2rem;
    text-align: left;
  }
  main .intro__part .head-intro .title::after {
    top: 0;
    left: 0;
    width: 6rem;
    height: 0.3rem;
  }
  main .intro__part .head-intro .content {
    font-size: 1.6rem;
    line-height: 3.6rem;
    color: #333;
  }
  main .intro__part .grid-intro {
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 3.2rem;
    margin-top: 0;
  }
  main .intro__part .grid-intro__item {
    border-radius: 0.8rem;
    width: 28rem;
    box-shadow: 0 0.4rem 1.8rem rgba(30, 30, 30, 0.25);
    padding: 2rem 2.5rem;
  }
  main .intro__part .grid-intro__item img {
    width: 4.2rem;
  }
  main .intro__part .grid-intro__item .sub-title {
    padding: 0.8rem 0;
    font-size: 1.6rem;
  }
  main .intro__part .grid-intro__item p {
    font-size: 1.4rem;
    line-height: 2.8rem;
  }
}
main .spot {
  padding: 1rem 0 4.5rem 0;
}
main .spot__head-title {
  position: relative;
}
main .spot__head-title .title {
  text-align: center;
  font-size: 2.4rem;
  line-height: 3.6rem;
  font-weight: bold;
}
main .spot__head-title .eng-title {
  position: absolute;
  font-size: 2.4rem;
  font-family: "futura-bold", sans-serif;
  transform: translateX(-50%);
  left: 50%;
  bottom: 97%;
  color: #F4F4F4;
  width: 100%;
  text-align: center;
}
main .spot__head-title .tips {
  font-size: 1.6rem;
  line-height: 3.6rem;
  text-align: left;
  padding: 3.2rem 2rem 6rem 2rem;
}
main .spot__city-list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1.5rem;
  margin-bottom: 3rem;
}
main .spot__city-list .select-btn {
  width: 10.6rem;
  height: 4.5rem;
  display: flex;
  justify-content: center;
  align-items: center;
  color: var(--main-red);
  border-radius: 20rem;
  border: 1px solid var(--main-red);
  font-size: 1.2rem;
  font-family: "heisei-kaku-gothic-std", sans-serif;
  font-weight: 700;
  font-style: normal;
}
main .spot__city-list .active-btn {
  background-color: var(--main-red);
  color: white;
}
main .spot__images-group {
  width: 80vw;
  margin: 0 auto;
  position: relative;
}
main .spot__images-group .inside {
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  gap: 1.2rem;
}
main .spot__images-group .inside img {
  width: 100%;
}
main .spot__images-group .decorate-img-left {
  position: absolute;
  bottom: -3rem;
  left: -4.3rem;
  width: 6.4rem;
  z-index: 4;
}
main .spot__images-group .decorate-img-right {
  position: absolute;
  top: 0rem;
  right: -3.6rem;
  width: 7.5rem;
  z-index: 4;
}
main .spot .bottom-text {
  text-align: center;
  margin-top: 8rem;
  font-family: "heisei-kaku-gothic-std", sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: 1.4rem;
  line-height: 2.8rem;
  padding: 0 4rem;
}
@media screen and (min-width: 640px) {
  main .spot {
    padding: 7rem 0 9.5rem 0;
  }
  main .spot__head-title .title {
    font-size: 3.2rem;
    line-height: 5rem;
  }
  main .spot__head-title .eng-title {
    font-size: 7.5rem;
    transform: translateX(-50%);
    left: 50%;
    bottom: 85%;
  }
  main .spot__head-title .tips {
    text-align: center;
    font-size: 2rem;
    line-height: 4.2rem;
    padding: 3.4rem 0 5.4rem 0;
  }
  main .spot__city-list {
    gap: 2rem;
    margin-bottom: 3.6rem;
  }
  main .spot__city-list .select-btn {
    width: 14rem;
    height: 6rem;
    border-radius: 20rem;
    border: 1px solid var(--main-red);
    font-size: 1.6rem;
  }
  main .spot__images-group {
    width: 124rem;
    margin: 0 auto;
  }
  main .spot__images-group .inside {
    flex-direction: row;
    gap: 2rem;
  }
  main .spot__images-group .inside img {
    width: 40rem;
  }
  main .spot__images-group .decorate-img-left {
    bottom: 0;
    left: -8.3rem;
    width: 11rem;
    z-index: 4;
  }
  main .spot__images-group .decorate-img-right {
    top: -3.4rem;
    right: -8.1rem;
    width: 11.5rem;
    z-index: 4;
  }
  main .spot .bottom-text {
    margin-top: 4rem;
    font-size: 1.6rem;
  }
}
main .sightseeing {
  background-color: var(--secondary);
  position: relative;
  max-width: 100vw;
  overflow: hidden;
  --swiper-pagination-bullet-inactive-opacity: 0.5;
  --swiper-pagination-bullet-inactive-color: #fff;
  --swiper-pagination-color: #fff;
}
@media screen and (max-width: 640px) {
  main .sightseeing {
    --swiper-pagination-bottom: 2rem;
  }
}
main .sightseeing__background-image {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100vw;
  height: 54vw;
  z-index: 1;
}
main .sightseeing__background-image::after {
  position: absolute;
  content: '';
  bottom: 0;
  left: 0;
  width: 100vw;
  height: 54vw;
  z-index: 2;
  background-color: rgba(0, 0, 0, 0.5);
}
main .sightseeing__swiper {
  margin: 0 auto;
  padding-left: 7vw;
  z-index: 6;
  padding-bottom: 5rem;
}
main .sightseeing__swiper .swiper-slide {
  height: 28rem;
  background-color: white;
  border-top-left-radius: 1.3rem;
  border-top-right-radius: 1.3rem;
  border-bottom-left-radius: 1.3rem;
  overflow: hidden;
}
@media screen and (max-width: 639px) {
  main .sightseeing__swiper .swiper-slide {
    width: 84vw;
  }
}
main .sightseeing__swiper .swiper-slide::after {
  width: 5rem;
  height: 5rem;
  background-color: var(--main-red);
  border-radius: 50%;
  content: '';
  position: absolute;
  bottom: -2.5rem;
  right: -2.5rem;
}
main .sightseeing__swiper .swiper-slide img {
  width: 100%;
}
@media screen and (max-width: 640px) {
  main .sightseeing__swiper .swiper-slide img {
    height: 11.5rem;
    object-fit: cover;
    object-position: bottom;
  }
}
main .sightseeing__swiper .swiper-slide .info {
  padding: 2rem;
}
main .sightseeing__swiper .swiper-slide .info .title {
  font-size: 1.4rem;
  color: var(--main-red);
  font-family: "heisei-kaku-gothic-std", sans-serif;
  font-weight: 700;
  font-style: normal;
}
main .sightseeing__swiper .swiper-slide .info .intro {
  font-size: 1.2rem;
  line-height: 2rem;
}
@media screen and (min-width: 640px) {
  main .sightseeing {
    --swiper-pagination-bottom: 5rem;
  }
  main .sightseeing__background-image {
    height: 27.4vw;
    max-height: 500px;
    object-fit: cover;
  }
  main .sightseeing__background-image::after {
    height: 27.4vw;
  }
  main .sightseeing__swiper {
    width: 100vw;
    padding-left: 14vw;
    padding-bottom: 10rem;
  }
  main .sightseeing__swiper .swiper-slide {
    max-width: 52rem;
    width: 52rem;
    height: 44rem;
    border-top-left-radius: 3rem;
    border-top-right-radius: 3rem;
    border-bottom-left-radius: 3rem;
  }
  main .sightseeing__swiper .swiper-slide::after {
    width: 11.6rem;
    height: 11.6rem;
    bottom: -5.8rem;
    right: -5.8rem;
  }
  main .sightseeing__swiper .swiper-slide .info {
    padding: 1.6rem 5rem;
  }
  main .sightseeing__swiper .swiper-slide .info .title {
    font-size: 2.4rem;
  }
  main .sightseeing__swiper .swiper-slide .info .intro {
    font-size: 1.4rem;
    line-height: 2.4rem;
  }
}
/*# sourceMappingURL=./service.css.map */