@charset "UTF-8";
/* ページ全体
 * ----------------------------------------------- */
html.is-fixed {
  position: fixed;
  z-index: -1;
  width: 100%;
  height: 100%;
}

* {
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

img {
  pointer-events: none;
}

.niihama_life {
  color: #1b2d60;
  font-weight: 500;
  line-height: 1.8;
}
@media screen and (min-width: 768px) {
  .niihama_life {
    letter-spacing: 0.15em;
  }
}

.niihama_life a {
  color: #1b2d60;
}

.outer-block {
  max-width: 1300px;
  margin: 0 auto;
}

.inner-block {
  max-width: 960px;
  padding: 0 30px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .inner-block {
    padding: 0 4vw;
  }
}

@media screen and (max-width: 767px) {
  .pc {
    display: none;
  }
}

@media screen and (min-width: 768px) {
  .sp {
    display: none;
  }
}

.ib {
  display: inline-block;
}

@media screen and (min-width: 768px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
  }
}
/* 共通装飾
 * ----------------------------------------------- */
.decoration-wave {
  position: absolute;
}
.decoration-wave img {
  width: 13.3846153846vw;
  height: 1.8461538462vw;
}
@media only screen and (min-width: 1300px) {
  .decoration-wave img {
    width: 174px;
    height: 24px;
  }
}
@media screen and (max-width: 767px) {
  .decoration-wave img {
    width: 14.6666666667vw;
    height: 2vw;
  }
}
.decoration-wave.small img {
  width: 11.1538461538vw;
  height: 1.5384615385vw;
}
@media only screen and (min-width: 1300px) {
  .decoration-wave.small img {
    width: 145px;
    height: 20px;
  }
}
@media screen and (max-width: 767px) {
  .decoration-wave.small img {
    width: 13.0666666667vw;
    height: 1.8666666667vw;
  }
}
.decoration-wave.big img {
  width: 14.6153846154vw;
  height: 2vw;
}
@media only screen and (min-width: 1300px) {
  .decoration-wave.big img {
    width: 190px;
    height: 26px;
  }
}
@media screen and (max-width: 767px) {
  .decoration-wave.big img {
    width: 25.3333333333vw;
    height: 3.4666666667vw;
  }
}

.decoration-circle {
  position: absolute;
  width: 1.7692307692vw;
  height: 1.7692307692vw;
  border-radius: 50%;
}
@media screen and (max-width: 767px) {
  .decoration-circle {
    width: 3.0666666667vw;
    height: 3.0666666667vw;
  }
}
.decoration-circle.small {
  width: 1.0769230769vw;
  height: 1.0769230769vw;
}
@media screen and (max-width: 767px) {
  .decoration-circle.small {
    width: 1.8666666667vw;
    height: 1.8666666667vw;
  }
}
.decoration-circle.big {
  width: 2.3076923077vw;
  height: 2.3076923077vw;
}
@media screen and (max-width: 767px) {
  .decoration-circle.big {
    width: 4vw;
    height: 4vw;
  }
}

/* MV
 * ----------------------------------------------- */
.mv-block {
  position: relative;
}
.mv-block::after {
  background: url(../img/mv-01.svg) no-repeat center center;
  background-size: 100% 100%;
  content: "";
  display: block;
  height: 140px;
  position: absolute;
  width: 370px;
  top: 0;
  left: 0;
  margin: auto;
  z-index: 10;
  -webkit-filter: opacity(0);
          filter: opacity(0);
  -webkit-animation: fadeInDownMv01 1.2s var(--easing) both paused;
          animation: fadeInDownMv01 1.2s var(--easing) both paused;
  -webkit-animation-play-state: running;
          animation-play-state: running;
}
@media screen and (max-width: 767px) {
  .mv-block::after {
    background: url(../img/sp/mv-01.svg) no-repeat center center;
    height: 16.5333333333vw;
    width: 57.0666666667vw;
    left: -2px;
  }
}
.mv-block::before {
  background: url(../img/mv-02.svg) no-repeat center center;
  background-size: 100% 100%;
  content: "";
  display: block;
  height: 242px;
  position: absolute;
  width: 1028px;
  bottom: -1px;
  right: 0;
  margin: auto;
  z-index: 10;
  -webkit-filter: opacity(0);
          filter: opacity(0);
  -webkit-animation: fadeInUpMv02 1.2s var(--easing) both paused;
          animation: fadeInUpMv02 1.2s var(--easing) both paused;
  -webkit-animation-play-state: running;
          animation-play-state: running;
}
@media screen and (max-width: 767px) {
  .mv-block::before {
    background: url(../img/sp/mv-02.svg) no-repeat center center;
    height: 22.6666666667vw;
    width: 89.3333333333vw;
  }
}
.mv-block .mv-item {
  z-index: 0;
}
.mv-block .mv-item img {
  width: 100%;
  min-height: 800px;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  max-height: calc(100vh - 100px);
}
@media screen and (max-width: 767px) {
  .mv-block .mv-item img {
    min-height: 113.3333333333vw;
  }
}
.mv-block .mv-txt {
  position: absolute;
  top: 170px;
  left: 120px;
  z-index: 10;
}
@media screen and (max-width: 767px) {
  .mv-block .mv-txt {
    top: 30.1333333333vw;
    left: 0;
    right: 0;
    margin: auto;
  }
}
.mv-block .mv-txt .ttl {
  position: relative;
}
.mv-block .mv-txt .ttl .character {
  position: absolute;
  top: -110px;
  left: -15px;
  width: 60px;
  height: 90px;
}
@media screen and (max-width: 767px) {
  .mv-block .mv-txt .ttl .character {
    top: -18.1333333333vw;
    left: 20.6666666667vw;
    width: 11.4666666667vw;
    height: 17.0666666667vw;
  }
}
.mv-block .mv-txt .ttl-item {
  display: block;
  margin: 0 auto;
}
.mv-block .mv-txt .ttl-item:nth-child(1) {
  width: 300px;
}
@media screen and (max-width: 767px) {
  .mv-block .mv-txt .ttl-item:nth-child(1) {
    width: 46.1333333333vw;
  }
}
.mv-block .mv-txt .ttl-item:nth-child(2) {
  width: 314px;
  margin-top: 30px;
}
@media screen and (max-width: 767px) {
  .mv-block .mv-txt .ttl-item:nth-child(2) {
    width: 48.5333333333vw;
    margin-top: 4.2666666667vw;
  }
}
.mv-block .mv-txt .ttl-item:nth-child(3) {
  width: 304px;
  margin-top: 30px;
}
@media screen and (max-width: 767px) {
  .mv-block .mv-txt .ttl-item:nth-child(3) {
    width: 47.2vw;
    margin-top: 4.2666666667vw;
  }
}
.mv-block .mv-txt .caption {
  width: 320px;
  margin-top: 25px;
}
@media screen and (max-width: 767px) {
  .mv-block .mv-txt .caption {
    width: 49.3333333333vw;
    margin: 2.4vw auto 0;
  }
}

@-webkit-keyframes fadeInDownMv01 {
  0% {
    -webkit-filter: opacity(0);
            filter: opacity(0);
    -webkit-transform: translate3d(0, -30px, 0);
            transform: translate3d(0, -30px, 0);
  }
  100% {
    -webkit-filter: opacity(1);
            filter: opacity(1);
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInDownMv01 {
  0% {
    -webkit-filter: opacity(0);
            filter: opacity(0);
    -webkit-transform: translate3d(0, -30px, 0);
            transform: translate3d(0, -30px, 0);
  }
  100% {
    -webkit-filter: opacity(1);
            filter: opacity(1);
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}
@-webkit-keyframes fadeInUpMv02 {
  0% {
    -webkit-filter: opacity(0);
            filter: opacity(0);
    -webkit-transform: translate3d(0, 30px, 0);
            transform: translate3d(0, 30px, 0);
  }
  100% {
    -webkit-filter: opacity(1);
            filter: opacity(1);
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInUpMv02 {
  0% {
    -webkit-filter: opacity(0);
            filter: opacity(0);
    -webkit-transform: translate3d(0, 30px, 0);
            transform: translate3d(0, 30px, 0);
  }
  100% {
    -webkit-filter: opacity(1);
            filter: opacity(1);
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}
/* lesd-block
 * ----------------------------------------------- */
.lesd-block {
  margin: 100px 0 40px;
}
@media screen and (max-width: 767px) {
  .lesd-block {
    margin: 6.6666666667vw 0 33.2vw;
  }
}
.lesd-block .inner-block {
  position: relative;
}
.lesd-block .lesd-txt {
  font-size: 18px;
  line-height: 2.5;
}
@media screen and (min-width: 768px) {
  .lesd-block .lesd-txt {
    width: 56.9230769231vw;
  }
}
@media only screen and (min-width: 1300px) {
  .lesd-block .lesd-txt {
    margin-left: -52px;
    width: 760px;
  }
}
@media screen and (max-width: 767px) {
  .lesd-block .lesd-txt {
    font-size: 3.2vw;
    line-height: 1.9;
    letter-spacing: 0.12em;
  }
}
.lesd-block .character-area {
  position: absolute;
  bottom: -2.3076923077vw;
  right: 20.7692307692vw;
}
@media only screen and (min-width: 1300px) {
  .lesd-block .character-area {
    bottom: -88px;
    right: 112px;
  }
}
@media screen and (max-width: 767px) {
  .lesd-block .character-area {
    bottom: -28.2666666667vw;
    right: 13.0666666667vw;
  }
}
.lesd-block .character-area .box {
  position: relative;
}
.lesd-block .character-area .character img {
  width: 9.2307692308vw;
}
@media only screen and (min-width: 1300px) {
  .lesd-block .character-area .character img {
    width: 120px;
  }
}
@media screen and (max-width: 767px) {
  .lesd-block .character-area .character img {
    width: 16vw;
  }
}
.lesd-block .character-area .introduction {
  position: absolute;
  right: -9.7692307692vw;
}
@media screen and (min-width: 768px) {
  .lesd-block .character-area .introduction {
    top: 5.9230769231vw;
  }
}
@media only screen and (min-width: 1300px) {
  .lesd-block .character-area .introduction {
    top: 77px;
    right: -127px;
  }
}
@media screen and (max-width: 767px) {
  .lesd-block .character-area .introduction {
    bottom: -12.8vw;
    left: -2.6666666667vw;
    right: -2.6666666667vw;
  }
}
.lesd-block .character-area .introduction img {
  width: 8.7692307692vw;
}
@media only screen and (min-width: 1300px) {
  .lesd-block .character-area .introduction img {
    width: 114px;
  }
}
@media screen and (max-width: 767px) {
  .lesd-block .character-area .introduction img {
    width: 21.4666666667vw;
  }
}
.lesd-block .character-area .comment {
  position: absolute;
  top: -11.3846153846vw;
}
@media screen and (min-width: 768px) {
  .lesd-block .character-area .comment {
    right: -17vw;
  }
}
@media only screen and (min-width: 1300px) {
  .lesd-block .character-area .comment {
    top: -148px;
    right: -221px;
  }
}
@media screen and (max-width: 767px) {
  .lesd-block .character-area .comment {
    top: 4.2666666667vw;
    left: -50.4vw;
  }
}
.lesd-block .character-area .comment img {
  width: 25.5384615385vw;
}
@media only screen and (min-width: 1300px) {
  .lesd-block .character-area .comment img {
    width: 332px;
  }
}
@media screen and (max-width: 767px) {
  .lesd-block .character-area .comment img {
    width: 47.7333333333vw;
  }
}

/* map-block
* ----------------------------------------------- */
.map-block {
  background: url(../img/map-bg.jpg) no-repeat;
  background-size: cover;
  background-position: 0 70px;
  position: relative;
  overflow: hidden;
  padding-bottom: 33.8461538462vw;
}
@media only screen and (min-width: 1300px) {
  .map-block {
    padding-bottom: 440px;
  }
}
@media screen and (max-width: 767px) {
  .map-block {
    background-position: 0 42.6666666667vw;
    padding-bottom: 24.5333333333vw;
  }
}
.map-block::before {
  background: url(../img/map-bg.svg) no-repeat center center;
  background-size: 100% 100%;
  content: "";
  display: block;
  height: 25.8461538462vw;
  position: absolute;
  width: 76.9230769231vw;
  top: 69px;
  left: 0;
  margin: auto;
  z-index: 5;
}
@media screen and (max-width: 767px) {
  .map-block::before {
    background: url(../img/sp/map-bg.svg) no-repeat center center;
    height: 35.7333333333vw;
    width: 88vw;
    top: 42.6666666667vw;
  }
}
.map-block .map-area {
  position: relative;
  z-index: 10;
}
@media screen and (max-width: 767px) {
  .map-block .map-area {
    margin-left: -6.1333333333vw;
  }
}
.map-block .map-area .img {
  display: block;
  width: 112.3076923077vw;
  max-width: 1460px;
  margin: 0 auto;
}
@media only screen and (min-width: 768px) and (max-width: 1299px) {
  .map-block .map-area .img {
    margin-left: -7.6923076923vw;
  }
}
@media screen and (max-width: 767px) {
  .map-block .map-area .img {
    width: 129.7333333333vw;
    margin-left: -3.7333333333vw;
  }
}
.map-block .inner-block {
  position: relative;
}
.map-block .img-area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  z-index: 10;
}
@media screen and (min-width: 768px) {
  .map-block .img-area {
    gap: 20px;
  }
}
@media only screen and (min-width: 1200px) {
  .map-block .img-area {
    margin: 0 -100px;
  }
}
@media screen and (max-width: 767px) {
  .map-block .img-area {
    margin: -2.6666666667vw -4vw 0;
  }
}
.map-block .img-area .img-atem {
  width: calc((100% - 40px) / 3);
}
@media screen and (max-width: 767px) {
  .map-block .img-area .img-atem {
    width: 33.3333333333%;
  }
}
@media screen and (min-width: 768px) {
  .map-block .img-area .img-atem:nth-child(1) {
    padding-top: 140px;
  }
}
@media screen and (min-width: 768px) {
  .map-block .img-area .img-atem:nth-child(2) {
    padding-top: 70px;
  }
}
.map-block .txt-area {
  margin: -25px 0 0 auto;
}
@media screen and (min-width: 768px) {
  .map-block .txt-area {
    width: 460px;
  }
}
@media screen and (max-width: 767px) {
  .map-block .txt-area {
    margin: 8vw 0 0 auto;
  }
}
.map-block .txt-area .ttl {
  font-size: 24px;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .map-block .txt-area .ttl {
    font-size: 3.7333333333vw;
    letter-spacing: 0.1em;
  }
}
.map-block .txt-area .txt {
  font-size: 15px;
  line-height: 2;
  padding-top: 15px;
}
@media screen and (max-width: 767px) {
  .map-block .txt-area .txt {
    font-size: 3.2vw;
    padding-top: 1.3333333333vw;
  }
}
.map-block .decoration-wave.map-wave01 {
  top: 30.7692307692vw;
  left: 7.6923076923vw;
}
@media only screen and (min-width: 1300px) {
  .map-block .decoration-wave.map-wave01 {
    top: 500px;
  }
}
@media screen and (max-width: 767px) {
  .map-block .decoration-wave.map-wave01 {
    top: 76.6666666667vw;
    left: 6.9333333333vw;
  }
}
.map-block .decoration-wave.map-wave02 {
  top: 68.4615384615vw;
  right: 23.0769230769vw;
}
@media only screen and (min-width: 1300px) {
  .map-block .decoration-wave.map-wave02 {
    top: 990px;
  }
}
@media screen and (max-width: 767px) {
  .map-block .decoration-wave.map-wave02 {
    top: 120.4vw;
    right: 23.3333333333vw;
  }
}
.map-block .decoration-wave.map-wave03 {
  top: 76.1538461538vw;
  right: 33.0769230769vw;
}
@media only screen and (min-width: 1300px) {
  .map-block .decoration-wave.map-wave03 {
    top: 1090px;
  }
}
@media screen and (max-width: 767px) {
  .map-block .decoration-wave.map-wave03 {
    top: 129.2vw;
    right: 34.4vw;
  }
}
.map-block .decoration-wave.map-wave04 {
  top: 39.2307692308vw;
  left: 5.3846153846vw;
}
@media only screen and (min-width: 1300px) {
  .map-block .decoration-wave.map-wave04 {
    top: 510px;
  }
}
@media screen and (max-width: 767px) {
  .map-block .decoration-wave.map-wave04 {
    top: 36vw;
    left: auto;
    right: 9.3333333333vw;
  }
}

/* link-block
* ----------------------------------------------- */
.link-block {
  background: #e3efff;
  position: relative;
  z-index: 50;
  height: 64.6153846154vw;
}
@media only screen and (min-width: 1200px) {
  .link-block {
    height: 840px;
  }
}
@media screen and (max-width: 767px) {
  .link-block {
    height: 154.1333333333vw;
  }
}
.link-block .link-bg {
  max-width: 100vw;
  width: 100%;
  height: 21.6923076923vw;
  position: absolute;
  top: -20.7692307692vw;
  overflow: hidden;
}
@media only screen and (min-width: 1300px) {
  .link-block .link-bg {
    height: 282px;
    top: -270px;
  }
}
@media screen and (max-width: 767px) {
  .link-block .link-bg {
    height: 10.8vw;
    top: -10.6666666667vw;
  }
}
.link-block .link-bg span {
  display: block;
  position: relative;
}
.link-block .link-bg span::before {
  background: url(../img/link-bg.svg) no-repeat center center;
  background-size: 100% 100%;
  content: "";
  display: block;
  height: 21.6923076923vw;
  position: absolute;
  width: 119.4615384615vw;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  z-index: 5;
}
@media only screen and (min-width: 1300px) {
  .link-block .link-bg span::before {
    height: 282px;
    width: 1553px;
  }
}
@media screen and (max-width: 767px) {
  .link-block .link-bg span::before {
    background: url(../img/sp/link-bg.svg) no-repeat center center;
    height: 10.8vw;
    width: 100%;
  }
}
.link-block .inner-block {
  position: relative;
}
.link-block .character-area {
  position: absolute;
  top: -18.4615384615vw;
  z-index: 10;
}
@media screen and (min-width: 768px) {
  .link-block .character-area {
    right: 46.1538461538vw;
  }
}
@media only screen and (min-width: 1300px) {
  .link-block .character-area {
    top: -240px;
    right: 445px;
  }
}
@media screen and (max-width: 767px) {
  .link-block .character-area {
    top: -17.2vw;
    left: 23.7333333333vw;
  }
}
.link-block .character-area .box {
  position: relative;
}
.link-block .character-area .character {
  position: relative;
  z-index: 15;
}
.link-block .character-area .character img {
  width: 4.4615384615vw;
}
@media only screen and (min-width: 1300px) {
  .link-block .character-area .character img {
    width: 58px;
  }
}
@media screen and (max-width: 767px) {
  .link-block .character-area .character img {
    width: 14.2666666667vw;
  }
}
.link-block .character-area .comment {
  position: absolute;
  top: -12vw;
  z-index: 10;
}
@media screen and (min-width: 768px) {
  .link-block .character-area .comment {
    left: -18.2307692308vw;
  }
}
@media only screen and (min-width: 1300px) {
  .link-block .character-area .comment {
    top: -156px;
    left: -237px;
  }
}
@media screen and (max-width: 767px) {
  .link-block .character-area .comment {
    top: 3.2vw;
    right: -27.0666666667vw;
  }
}
.link-block .character-area .comment img {
  width: 17.5384615385vw;
}
@media only screen and (min-width: 1300px) {
  .link-block .character-area .comment img {
    width: 228px;
  }
}
@media screen and (max-width: 767px) {
  .link-block .character-area .comment img {
    width: 29.8666666667vw;
  }
}
.link-block .link-item {
  display: inline-block;
  position: absolute;
  left: 0;
  right: 0;
  width: 26vw;
  margin: auto;
  z-index: 60;
}
@media only screen and (min-width: 1200px) {
  .link-block .link-item {
    width: 338px;
  }
}
@media screen and (max-width: 767px) {
  .link-block .link-item {
    width: 45.0666666667vw;
  }
}
.link-block .link-item a {
  text-align: center;
  position: relative;
}
@media screen and (min-width: 768px) {
  .link-block .link-item a:hover .link-txt {
    -webkit-transform: scale(1.1, 1.1) translateY(-5px);
            transform: scale(1.1, 1.1) translateY(-5px);
  }
}
.link-block .link-item .img {
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.link-block .link-item .link-txt {
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  width: 26vw;
  height: 13.3846153846vw;
}
@media only screen and (min-width: 1200px) {
  .link-block .link-item .link-txt {
    width: 338px;
    height: 174px;
  }
}
@media screen and (max-width: 767px) {
  .link-block .link-item .link-txt {
    width: 45.0666666667vw;
    height: 23.2vw;
  }
}
.link-block .link-item:nth-child(1) .link-txt, .link-block .link-item:nth-child(2) .link-txt {
  z-index: 55;
  position: relative;
}
@media screen and (min-width: 768px) {
  .link-block .link-item:nth-child(1) a:hover .img, .link-block .link-item:nth-child(3) a:hover .img {
    -webkit-transform: rotate(6deg);
            transform: rotate(6deg);
  }
}
@media screen and (min-width: 768px) {
  .link-block .link-item:nth-child(2) a:hover .img, .link-block .link-item:nth-child(4) a:hover .img {
    -webkit-transform: rotate(-6deg);
            transform: rotate(-6deg);
  }
}
.link-block .link-item:nth-child(1) {
  top: -20.3076923077vw;
  left: 40.9230769231vw;
}
@media only screen and (min-width: 1200px) {
  .link-block .link-item:nth-child(1) {
    top: -264px;
    left: 532px;
  }
}
@media screen and (max-width: 767px) {
  .link-block .link-item:nth-child(1) {
    top: 0;
    left: 38.8vw;
  }
}
.link-block .link-item:nth-child(1) .link-txt {
  margin-top: -9.8461538462vw;
}
@media only screen and (min-width: 1200px) {
  .link-block .link-item:nth-child(1) .link-txt {
    margin-top: -128px;
  }
}
@media screen and (max-width: 767px) {
  .link-block .link-item:nth-child(1) .link-txt {
    margin-top: -18.9333333333vw;
  }
}
.link-block .link-item:nth-child(1) .img {
  width: 10.6923076923vw;
  margin: auto;
}
@media only screen and (min-width: 1200px) {
  .link-block .link-item:nth-child(1) .img {
    width: 139px;
  }
}
@media screen and (max-width: 767px) {
  .link-block .link-item:nth-child(1) .img {
    width: 18.5333333333vw;
    margin: 0 8.6666666667vw 0 auto;
  }
}
.link-block .link-item:nth-child(2) {
  top: -12.1538461538vw;
  right: 24.2307692308vw;
}
@media only screen and (min-width: 1200px) {
  .link-block .link-item:nth-child(2) {
    top: -158px;
    right: 315px;
  }
}
@media screen and (max-width: 767px) {
  .link-block .link-item:nth-child(2) {
    top: 32.8vw;
    right: 31.2vw;
  }
}
.link-block .link-item:nth-child(2) .link-txt {
  margin-top: -4.3846153846vw;
}
@media only screen and (min-width: 1200px) {
  .link-block .link-item:nth-child(2) .link-txt {
    margin-top: -57px;
  }
}
@media screen and (max-width: 767px) {
  .link-block .link-item:nth-child(2) .link-txt {
    margin-top: -7.6vw;
  }
}
.link-block .link-item:nth-child(2) .img {
  width: 24.6923076923vw;
  margin: auto;
}
@media only screen and (min-width: 1200px) {
  .link-block .link-item:nth-child(2) .img {
    width: 321px;
  }
}
@media screen and (max-width: 767px) {
  .link-block .link-item:nth-child(2) .img {
    width: 42.8vw;
  }
}
.link-block .link-item:nth-child(3) {
  top: 27.5384615385vw;
  left: 29.6153846154vw;
}
@media only screen and (min-width: 1200px) {
  .link-block .link-item:nth-child(3) {
    top: 358px;
    left: 385px;
  }
}
@media screen and (max-width: 767px) {
  .link-block .link-item:nth-child(3) {
    top: 83.2vw;
    left: 38.4vw;
  }
}
.link-block .link-item:nth-child(3) .img {
  position: absolute;
  width: 5.5384615385vw;
  height: 8.1538461538vw;
  top: -5.2307692308vw;
  right: 1.7692307692vw;
}
@media only screen and (min-width: 1200px) {
  .link-block .link-item:nth-child(3) .img {
    width: 72px;
    height: 106px;
    top: -68px;
    right: 23px;
  }
}
@media screen and (max-width: 767px) {
  .link-block .link-item:nth-child(3) .img {
    width: 9.6vw;
    height: 14.1333333333vw;
    top: -9.0666666667vw;
    right: 3.0666666667vw;
  }
}
.link-block .link-item:nth-child(4) {
  top: 36.5384615385vw;
  right: 31.9230769231vw;
}
@media only screen and (min-width: 1200px) {
  .link-block .link-item:nth-child(4) {
    top: 475px;
    right: 415px;
  }
}
@media screen and (max-width: 767px) {
  .link-block .link-item:nth-child(4) {
    top: 106.4vw;
    right: 40.9333333333vw;
  }
}
.link-block .link-item:nth-child(4) .link-txt {
  width: 27.5384615385vw;
  height: 13.3076923077vw;
}
@media only screen and (min-width: 1200px) {
  .link-block .link-item:nth-child(4) .link-txt {
    width: 358px;
    height: 173px;
  }
}
@media screen and (max-width: 767px) {
  .link-block .link-item:nth-child(4) .link-txt {
    width: 47.7333333333vw;
    height: 23.0666666667vw;
  }
}
.link-block .link-item:nth-child(4) .img {
  position: absolute;
  width: 12.8461538462vw;
  height: 7.6923076923vw;
  top: -5.6153846154vw;
  right: 0;
  left: 1.6923076923vw;
  margin: auto;
}
@media only screen and (min-width: 1200px) {
  .link-block .link-item:nth-child(4) .img {
    width: 167px;
    height: 100px;
    top: -73px;
    left: 22px;
  }
}
@media screen and (max-width: 767px) {
  .link-block .link-item:nth-child(4) .img {
    width: 22.2666666667vw;
    height: 13.3333333333vw;
    top: -7.2vw;
    left: 2.9333333333vw;
  }
}
.link-block .decoration-wave.link-wave01 {
  top: 21.1538461538vw;
  left: 24.6153846154vw;
}
@media only screen and (min-width: 1300px) {
  .link-block .decoration-wave.link-wave01 {
    top: 275px;
    left: 320px;
  }
}
@media screen and (max-width: 767px) {
  .link-block .decoration-wave.link-wave01 {
    top: 16.2666666667vw;
    left: 20.5333333333vw;
  }
}
.link-block .decoration-wave.link-wave02 {
  top: 27.5384615385vw;
  left: -2.0769230769vw;
}
@media only screen and (min-width: 1300px) {
  .link-block .decoration-wave.link-wave02 {
    top: 358px;
    left: -27px;
  }
}
@media screen and (max-width: 767px) {
  .link-block .decoration-wave.link-wave02 {
    top: 67.7333333333vw;
    left: auto;
    right: 18.6666666667vw;
  }
}
.link-block .decoration-wave.link-wave03 {
  top: 48.0769230769vw;
  right: 0.6153846154vw;
}
@media only screen and (min-width: 1300px) {
  .link-block .decoration-wave.link-wave03 {
    top: 625px;
    right: 8px;
  }
}
@media screen and (max-width: 767px) {
  .link-block .decoration-wave.link-wave03 {
    top: 133.3333333333vw;
    left: auto;
    right: 33.3333333333vw;
  }
}

/* introduction-block
* ----------------------------------------------- */
.introduction-block {
  background: #e8e8e8;
  padding: 30px 0 38.4615384615vw;
  position: relative;
  z-index: 50;
}
@media only screen and (min-width: 1300px) {
  .introduction-block {
    padding: 30px 0 500px;
  }
}
@media screen and (max-width: 767px) {
  .introduction-block {
    padding: 10.6666666667vw 0 49.3333333333vw;
  }
}
.introduction-block .introduction-bg {
  max-width: 100vw;
  width: 100%;
  height: 9.1538461538vw;
  position: absolute;
  top: -8.9230769231vw;
  overflow: hidden;
}
@media only screen and (min-width: 1300px) {
  .introduction-block .introduction-bg {
    height: 119px;
    top: -116px;
  }
}
@media screen and (max-width: 767px) {
  .introduction-block .introduction-bg {
    height: 11.2vw;
    top: -10.6666666667vw;
  }
}
.introduction-block .introduction-bg span {
  display: block;
  position: relative;
}
.introduction-block .introduction-bg span::before {
  background: url(../img/introduction-bg.svg) no-repeat center center;
  background-size: 100% 100%;
  content: "";
  display: block;
  height: 9.1538461538vw;
  position: absolute;
  width: 104vw;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  z-index: 5;
}
@media only screen and (min-width: 1300px) {
  .introduction-block .introduction-bg span::before {
    height: 119px;
    width: 1352px;
  }
}
@media screen and (max-width: 767px) {
  .introduction-block .introduction-bg span::before {
    background: url(../img/sp/introduction-bg.svg) no-repeat center center;
    height: 11.2vw;
    width: 100%;
  }
}
.introduction-block .introduction-ttl {
  text-align: center;
}
.introduction-block .introduction-ttl .main {
  display: block;
  margin-bottom: 4.3076923077vw;
}
@media only screen and (min-width: 1300px) {
  .introduction-block .introduction-ttl .main {
    margin-bottom: 56px;
  }
}
@media screen and (max-width: 767px) {
  .introduction-block .introduction-ttl .main {
    margin-bottom: 9.3333333333vw;
  }
}
.introduction-block .introduction-ttl .main img {
  width: 50.7692307692vw;
}
@media only screen and (min-width: 1300px) {
  .introduction-block .introduction-ttl .main img {
    width: 660px;
  }
}
@media screen and (max-width: 767px) {
  .introduction-block .introduction-ttl .main img {
    width: 74.1333333333vw;
  }
}
.introduction-block .introduction-ttl .sub {
  display: inline-block;
  position: relative;
}
.introduction-block .introduction-ttl .sub .txt {
  width: 48.3076923077vw;
}
@media only screen and (min-width: 1300px) {
  .introduction-block .introduction-ttl .sub .txt {
    width: 628px;
  }
}
@media screen and (max-width: 767px) {
  .introduction-block .introduction-ttl .sub .txt {
    width: 71.2vw;
  }
}
.introduction-block .introduction-ttl .sub .character {
  position: absolute;
  left: -2.8461538462vw;
  top: -1.7692307692vw;
}
@media only screen and (min-width: 1300px) {
  .introduction-block .introduction-ttl .sub .character {
    left: -37px;
    top: -23px;
  }
}
@media screen and (max-width: 767px) {
  .introduction-block .introduction-ttl .sub .character {
    left: 2vw;
    top: -3.4666666667vw;
  }
}
.introduction-block .introduction-ttl .sub .character img {
  width: 5.0769230769vw;
  height: 7.5384615385vw;
}
@media only screen and (min-width: 1300px) {
  .introduction-block .introduction-ttl .sub .character img {
    width: 66px;
    height: 98px;
  }
}
@media screen and (max-width: 767px) {
  .introduction-block .introduction-ttl .sub .character img {
    width: 8.8vw;
    height: 13.2vw;
  }
}
.introduction-block .introduction-contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 16.9230769231vw;
}
@media only screen and (min-width: 1300px) {
  .introduction-block .introduction-contents {
    margin-top: 220px;
  }
}
@media screen and (max-width: 767px) {
  .introduction-block .introduction-contents {
    margin-top: 20vw;
  }
}
.introduction-block .introduction-contents .introduction-item {
  position: relative;
  width: 50%;
}
.introduction-block .introduction-contents .introduction-item .img img {
  width: 100%;
}
.introduction-block .introduction-contents .introduction-item .txt {
  text-align: center;
  position: absolute;
}
.introduction-block .introduction-contents .introduction-item .txt .main {
  display: block;
  margin-bottom: 2.3076923077vw;
  position: relative;
}
@media only screen and (min-width: 1300px) {
  .introduction-block .introduction-contents .introduction-item .txt .main {
    margin-bottom: 30px;
  }
}
@media screen and (max-width: 767px) {
  .introduction-block .introduction-contents .introduction-item .txt .main {
    margin-bottom: 4vw;
  }
}
.introduction-block .introduction-contents .introduction-item .txt .main img {
  width: 22.3846153846vw;
}
@media only screen and (min-width: 1300px) {
  .introduction-block .introduction-contents .introduction-item .txt .main img {
    width: 291px;
  }
}
@media screen and (max-width: 767px) {
  .introduction-block .introduction-contents .introduction-item .txt .main img {
    width: 33.6vw;
  }
}
.introduction-block .introduction-contents .introduction-item .txt .main .circle {
  border-radius: 50%;
  width: 2.7692307692vw;
  height: 2.7692307692vw;
  position: absolute;
  top: -1.6153846154vw;
  right: 1.9230769231vw;
}
@media only screen and (min-width: 1300px) {
  .introduction-block .introduction-contents .introduction-item .txt .main .circle {
    width: 36px;
    height: 36px;
    top: -21px;
    right: 25px;
  }
}
@media screen and (max-width: 767px) {
  .introduction-block .introduction-contents .introduction-item .txt .main .circle {
    width: 4.1333333333vw;
    height: 4.1333333333vw;
    top: -2.1333333333vw;
    right: 2.6666666667vw;
  }
}
.introduction-block .introduction-contents .introduction-item .txt .sub {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  gap: 1.5384615385vw;
}
@media only screen and (min-width: 1300px) {
  .introduction-block .introduction-contents .introduction-item .txt .sub {
    gap: 20px;
  }
}
@media screen and (max-width: 767px) {
  .introduction-block .introduction-contents .introduction-item .txt .sub {
    gap: 1.8666666667vw;
  }
}
.introduction-block .introduction-contents .introduction-item .txt .sub img {
  width: 3.8461538462vw;
}
@media only screen and (min-width: 1300px) {
  .introduction-block .introduction-contents .introduction-item .txt .sub img {
    width: 50px;
  }
}
@media screen and (max-width: 767px) {
  .introduction-block .introduction-contents .introduction-item .txt .sub img {
    width: 5.7333333333vw;
  }
}
.introduction-block .introduction-contents .introduction-item .txt .sub img:nth-child(1) {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}
.introduction-block .introduction-contents .introduction-item .txt .sub img:nth-child(2) {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
.introduction-block .introduction-contents .introduction-item:nth-child(1) {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}
.introduction-block .introduction-contents .introduction-item:nth-child(1) .txt {
  top: -6.8461538462vw;
}
@media screen and (min-width: 768px) {
  .introduction-block .introduction-contents .introduction-item:nth-child(1) .txt {
    left: 20vw;
  }
}
@media only screen and (min-width: 1300px) {
  .introduction-block .introduction-contents .introduction-item:nth-child(1) .txt {
    top: -89px;
    left: 260px;
  }
}
@media screen and (max-width: 767px) {
  .introduction-block .introduction-contents .introduction-item:nth-child(1) .txt {
    top: -8.2666666667vw;
    right: 0;
  }
}
.introduction-block .introduction-contents .introduction-item:nth-child(1) .txt .main .circle {
  background-color: #f15631;
}
.introduction-block .introduction-contents .introduction-item:nth-child(2) {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
  margin-top: 10vw;
}
@media only screen and (min-width: 1300px) {
  .introduction-block .introduction-contents .introduction-item:nth-child(2) {
    margin-top: 130px;
  }
}
@media screen and (max-width: 767px) {
  .introduction-block .introduction-contents .introduction-item:nth-child(2) {
    margin-top: 10.4vw;
  }
}
.introduction-block .introduction-contents .introduction-item:nth-child(2) .txt {
  top: 44.6153846154vw;
}
@media screen and (min-width: 768px) {
  .introduction-block .introduction-contents .introduction-item:nth-child(2) .txt {
    left: 18.4615384615vw;
  }
}
@media only screen and (min-width: 1300px) {
  .introduction-block .introduction-contents .introduction-item:nth-child(2) .txt {
    top: 580px;
    left: 240px;
  }
}
@media screen and (max-width: 767px) {
  .introduction-block .introduction-contents .introduction-item:nth-child(2) .txt {
    top: 41.6vw;
    right: 4.4vw;
  }
}
.introduction-block .introduction-contents .introduction-item:nth-child(2) .txt .main .circle {
  background-color: #ffff00;
}
.introduction-block .decoration-wave.introduction-wave01 {
  top: 30vw;
  left: 12.7692307692vw;
}
@media only screen and (min-width: 1300px) {
  .introduction-block .decoration-wave.introduction-wave01 {
    top: 390px;
    left: 166px;
  }
}
@media screen and (max-width: 767px) {
  .introduction-block .decoration-wave.introduction-wave01 {
    top: 50.6666666667vw;
    left: 4vw;
  }
}
.introduction-block .decoration-wave.introduction-wave02 {
  top: 34.9230769231vw;
  left: 23.8461538462vw;
}
@media only screen and (min-width: 1300px) {
  .introduction-block .decoration-wave.introduction-wave02 {
    top: 454px;
    left: 310px;
  }
}
@media screen and (max-width: 767px) {
  .introduction-block .decoration-wave.introduction-wave02 {
    top: 59.4666666667vw;
    left: 26.6666666667vw;
  }
}
.introduction-block .decoration-wave.introduction-wave03 {
  top: 98.5384615385vw;
  right: 19.6153846154vw;
}
@media only screen and (min-width: 1300px) {
  .introduction-block .decoration-wave.introduction-wave03 {
    top: 1281px;
    right: 255px;
  }
}
@media screen and (max-width: 767px) {
  .introduction-block .decoration-wave.introduction-wave03 {
    width: 13.0666666667vw;
    height: 1.8666666667vw;
    top: 130.4vw;
    left: auto;
    right: 44vw;
  }
}
.introduction-block .decoration-wave.introduction-wave04 {
  top: 110vw;
  right: 47.5384615385vw;
}
@media only screen and (min-width: 1300px) {
  .introduction-block .decoration-wave.introduction-wave04 {
    top: 1430px;
  }
}
@media screen and (max-width: 767px) {
  .introduction-block .decoration-wave.introduction-wave04 {
    top: 121.8666666667vw;
    right: 19.4666666667vw;
  }
}

/* scroll-block
* ----------------------------------------------- */
.scroll-block a {
  display: block;
  padding: 50px 0;
}
@media screen and (max-width: 767px) {
  .scroll-block a {
    padding: 5.8666666667vw 0;
  }
}
.scroll-block .arrow {
  margin: 0 auto 20px;
  width: 17px;
}
@media screen and (max-width: 767px) {
  .scroll-block .arrow {
    margin: 0 auto 0.2666666667vw;
    width: 2.1333333333vw;
  }
}
.scroll-block .txt {
  width: 47px;
  margin: auto;
}
@media screen and (max-width: 767px) {
  .scroll-block .txt {
    width: 6.2666666667vw;
  }
}

/* human-block
* ----------------------------------------------- */
.human-block .kv-area {
  position: relative;
}
.human-block .kv-area .img img {
  width: 100%;
}
.human-block .kv-area .txt {
  text-align: center;
  position: absolute;
}
.human-block .kv-area .txt .main {
  display: block;
  margin-bottom: 3.0769230769vw;
  position: relative;
}
@media screen and (max-width: 767px) {
  .human-block .kv-area .txt .main {
    margin-bottom: 5.3333333333vw;
  }
}
.human-block .kv-area .txt .main img {
  width: 26.9230769231vw;
}
@media screen and (max-width: 767px) {
  .human-block .kv-area .txt .main img {
    width: 46.6666666667vw;
  }
}
.human-block .kv-area .txt .main .circle {
  border-radius: 50%;
  width: 3.3076923077vw;
  height: 3.3076923077vw;
  position: absolute;
  top: -1.6153846154vw;
  right: 2.3076923077vw;
}
@media screen and (max-width: 767px) {
  .human-block .kv-area .txt .main .circle {
    width: 5.7333333333vw;
    height: 5.7333333333vw;
    top: -2.8vw;
    right: 4vw;
  }
}
.human-block .kv-area .txt .sub {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  gap: 1.5384615385vw;
}
@media screen and (max-width: 767px) {
  .human-block .kv-area .txt .sub {
    gap: 2.6666666667vw;
  }
}
.human-block .kv-area .txt .sub img {
  width: 4.6153846154vw;
}
@media screen and (max-width: 767px) {
  .human-block .kv-area .txt .sub img {
    width: 8vw;
  }
}
.human-block .kv-area .txt .sub img:nth-child(1) {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}
.human-block .kv-area .txt .sub img:nth-child(2) {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
.human-block .kv-area .name {
  position: absolute;
  width: 14.3076923077vw;
  max-width: 186px;
}
@media screen and (max-width: 767px) {
  .human-block .kv-area .name {
    width: 32.8vw;
  }
}
.human-block .wide-img img {
  width: 100%;
}
.human-block .work-ttl {
  width: 52px;
}
@media screen and (max-width: 767px) {
  .human-block .work-ttl {
    width: 8vw;
  }
}
.human-block .living-ttl {
  width: 54px;
}
@media screen and (max-width: 767px) {
  .human-block .living-ttl {
    width: 7.6vw;
  }
}
.human-block .live-ttl {
  width: 56px;
}
@media screen and (max-width: 767px) {
  .human-block .live-ttl {
    width: 7.6vw;
  }
}
.human-block .contents-area-01 .outer-block {
  position: relative;
}
.human-block .contents-area-01 .outer-block .work-ttl {
  position: absolute;
  display: block;
}
.human-block .contents-area-01 .outer-block .side-img {
  position: absolute;
  display: block;
  width: 43.0769230769vw;
}
@media screen and (min-width: 768px) {
  .human-block .contents-area-01 .outer-block .side-img {
    left: 0;
  }
}
@media only screen and (min-width: 1300px) {
  .human-block .contents-area-01 .outer-block .side-img {
    width: 460px;
  }
}
@media screen and (max-width: 767px) {
  .human-block .contents-area-01 .outer-block .side-img {
    width: 61.3333333333vw;
    right: 0;
  }
}
@media screen and (min-width: 768px) {
  .human-block .contents-area-01 .inner-block {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: end;
  }
}
@media screen and (min-width: 768px) {
  .human-block .contents-area-01 .txt-area {
    width: 41.5384615385vw;
  }
}
@media only screen and (min-width: 1300px) {
  .human-block .contents-area-01 .txt-area {
    width: 540px;
  }
}
.human-block .contents-area-01 .work-sub-ttl {
  font-size: 28px;
}
@media screen and (max-width: 767px) {
  .human-block .contents-area-01 .work-sub-ttl {
    font-size: 4.8vw;
    line-height: 1.5;
  }
}
.human-block .contents-area-01 .work-txt {
  font-size: 15px;
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .human-block .contents-area-01 .work-txt {
    font-size: 3.2vw;
    margin-top: 5.3333333333vw;
  }
}
.human-block .contents-area-02 {
  padding: 150px 0;
  position: relative;
}
@media screen and (max-width: 767px) {
  .human-block .contents-area-02 {
    padding: 18.6666666667vw 0;
  }
}
.human-block .contents-area-02 .vertical-writing {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 40px;
  margin: 0 auto 60px;
}
@media screen and (max-width: 767px) {
  .human-block .contents-area-02 .vertical-writing {
    gap: 5.3333333333vw;
    margin-bottom: 4vw;
  }
}
.human-block .contents-area-02 .vertical-writing .ttl {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}
.human-block .contents-area-02 .vertical-writing .txt {
  font-size: 16px;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
  -ms-writing-mode: tb-rl;
  -webkit-writing-mode: vertical-rl;
          writing-mode: vertical-rl;
}
@media screen and (max-width: 767px) {
  .human-block .contents-area-02 .vertical-writing .txt {
    font-size: 3.2vw;
  }
}
@media screen and (min-width: 768px) {
  .human-block .contents-area-02 .txt-img-box {
    padding: 0 25px;
  }
}
.human-block .contents-area-02 .txt-img-box .txt {
  font-size: 18px;
  margin-top: 15px;
}
@media screen and (max-width: 767px) {
  .human-block .contents-area-02 .txt-img-box .txt {
    font-size: 2.4vw;
    margin-top: 2vw;
  }
}
.human-block .contents-area-02 .txt-img-box + .txt-img-box {
  margin-top: 70px;
}
@media screen and (max-width: 767px) {
  .human-block .contents-area-02 .txt-img-box + .txt-img-box {
    margin-top: 5.3333333333vw;
  }
}
.human-block .contents-area-02.bg-yellow {
  background: #fff7e8;
}
.human-block .contents-area-02.bg-blue {
  background: #f1f6fe;
}
.human-block.human01 .kv-area .txt {
  top: 16.6153846154vw;
  left: 12.6153846154vw;
}
@media screen and (max-width: 767px) {
  .human-block.human01 .kv-area .txt {
    top: 26.9333333333vw;
    left: 5.3333333333vw;
  }
}
.human-block.human01 .kv-area .txt .main .circle {
  background-color: #f15631;
}
.human-block.human01 .kv-area .name {
  height: 17.0769230769vw;
  bottom: -17.0769230769vw;
  right: 15.3846153846vw;
}
@media screen and (max-width: 767px) {
  .human-block.human01 .kv-area .name {
    height: 40.2666666667vw;
    bottom: -40.2666666667vw;
    right: 4vw;
  }
}
.human-block.human01 .contents-area-01 .outer-block {
  padding: 23.0769230769vw 0 14.6153846154vw;
}
@media only screen and (min-width: 1300px) {
  .human-block.human01 .contents-area-01 .outer-block {
    padding: 300px 0 190px;
  }
}
@media screen and (max-width: 767px) {
  .human-block.human01 .contents-area-01 .outer-block {
    padding: 112vw 0 12vw;
  }
}
.human-block.human01 .contents-area-01 .outer-block .work-ttl {
  top: 9.6923076923vw;
  left: 29.2307692308vw;
}
@media only screen and (min-width: 1300px) {
  .human-block.human01 .contents-area-01 .outer-block .work-ttl {
    top: 126px;
    left: 380px;
  }
}
@media screen and (max-width: 767px) {
  .human-block.human01 .contents-area-01 .outer-block .work-ttl {
    top: 42.6666666667vw;
    left: 14.6666666667vw;
  }
}
.human-block.human01 .contents-area-01 .outer-block .side-img {
  top: 600px;
}
@media screen and (max-width: 767px) {
  .human-block.human01 .contents-area-01 .outer-block .side-img {
    top: 60.2666666667vw;
  }
}
.human-block.human02 .kv-area .txt {
  top: 11vw;
}
@media screen and (min-width: 768px) {
  .human-block.human02 .kv-area .txt {
    right: 9.2307692308vw;
  }
}
@media screen and (max-width: 767px) {
  .human-block.human02 .kv-area .txt {
    top: 33.3333333333vw;
    left: 5.3333333333vw;
  }
}
.human-block.human02 .kv-area .txt .main .circle {
  background-color: #ffff00;
}
.human-block.human02 .kv-area .name {
  height: 18.6153846154vw;
  bottom: -18.6153846154vw;
}
@media screen and (min-width: 768px) {
  .human-block.human02 .kv-area .name {
    left: 15.3846153846vw;
  }
}
@media screen and (max-width: 767px) {
  .human-block.human02 .kv-area .name {
    height: 40.2666666667vw;
    bottom: -40.2666666667vw;
    right: 4vw;
  }
}
.human-block.human02 .contents-area-01 .outer-block {
  padding: 450px 0 14.6153846154vw;
}
@media only screen and (min-width: 1300px) {
  .human-block.human02 .contents-area-01 .outer-block {
    padding: 412px 0 190px;
  }
}
@media screen and (max-width: 767px) {
  .human-block.human02 .contents-area-01 .outer-block {
    padding: 112vw 0 12vw;
  }
}
.human-block.human02 .contents-area-01 .outer-block .work-ttl {
  top: 8.4615384615vw;
  right: 21.2307692308vw;
}
@media only screen and (min-width: 1300px) {
  .human-block.human02 .contents-area-01 .outer-block .work-ttl {
    top: 110px;
    right: 276px;
  }
}
@media screen and (max-width: 767px) {
  .human-block.human02 .contents-area-01 .outer-block .work-ttl {
    top: 49.3333333333vw;
    left: 14.6666666667vw;
  }
}
.human-block.human02 .contents-area-01 .outer-block .side-img {
  top: 360px;
}
@media screen and (max-width: 767px) {
  .human-block.human02 .contents-area-01 .outer-block .side-img {
    top: 60.2666666667vw;
  }
}
.human-block.human01 .decoration-circle {
  background: #f15631;
}
.human-block.human02 .decoration-circle {
  background: #ff0;
}
@media screen and (max-width: 767px) {
  .human-block.human02 .decoration-circle.human-circle04 {
    top: 162.2666666667vw;
  }
}
@media screen and (min-width: 768px) {
  .human-block.human02 .decoration-circle.human-circle05 {
    top: 153.2307692308vw;
  }
}
@media only screen and (min-width: 1300px) {
  .human-block.human02 .decoration-circle.human-circle05 {
    top: 1992px;
  }
}
@media screen and (min-width: 768px) {
  .human-block.human02 .decoration-circle.human-circle06 {
    top: 214.4615384615vw;
  }
}
@media only screen and (min-width: 1300px) {
  .human-block.human02 .decoration-circle.human-circle06 {
    top: 2788px;
  }
}
@media screen and (min-width: 768px) {
  .human-block.human02 .decoration-circle.human-circle08 {
    left: 11.5384615385vw;
  }
}
@media only screen and (min-width: 1300px) {
  .human-block.human02 .decoration-circle.human-circle08 {
    left: 150px;
  }
}
@media screen and (max-width: 767px) {
  .human-block.human02 .decoration-circle.human-circle08 {
    top: 264vw;
  }
}
@media screen and (max-width: 767px) {
  .human-block.human02 .decoration-circle.human-circle09 {
    top: 284.9333333333vw;
  }
}
.human-block .decoration-circle {
  background: #f15631;
}
.human-block .decoration-circle.human-circle01 {
  top: 12.6923076923vw;
  right: 35.3846153846vw;
}
@media only screen and (min-width: 1300px) {
  .human-block .decoration-circle.human-circle01 {
    top: 165px;
    right: 460px;
  }
}
@media screen and (max-width: 767px) {
  .human-block .decoration-circle.human-circle01 {
    top: 44.8vw;
    right: 24.5333333333vw;
  }
}
.human-block .decoration-circle.human-circle02 {
  top: 79.6923076923vw;
  left: 27.8461538462vw;
}
@media only screen and (min-width: 1300px) {
  .human-block .decoration-circle.human-circle02 {
    top: 1036px;
    left: 362px;
  }
}
@media screen and (max-width: 767px) {
  .human-block .decoration-circle.human-circle02 {
    top: 120vw;
    left: auto;
    right: 5.8666666667vw;
  }
}
.human-block .decoration-circle.human-circle03 {
  top: 25.5384615385vw;
  right: 18.3076923077vw;
}
@media only screen and (min-width: 1300px) {
  .human-block .decoration-circle.human-circle03 {
    top: 332px;
    right: 238px;
  }
}
@media screen and (max-width: 767px) {
  .human-block .decoration-circle.human-circle03 {
    top: 32vw;
    right: 7.4666666667vw;
  }
}
.human-block .decoration-circle.human-circle04 {
  top: 87.1538461538vw;
  right: 9.6923076923vw;
}
@media only screen and (min-width: 1300px) {
  .human-block .decoration-circle.human-circle04 {
    top: 1133px;
    right: 126px;
  }
}
@media screen and (max-width: 767px) {
  .human-block .decoration-circle.human-circle04 {
    top: 169.7333333333vw;
    right: 6.9333333333vw;
  }
}
.human-block .decoration-circle.human-circle05 {
  top: 159.6153846154vw;
  left: 30.1538461538vw;
}
@media only screen and (min-width: 1300px) {
  .human-block .decoration-circle.human-circle05 {
    top: 2075px;
    left: 392px;
  }
}
@media screen and (max-width: 767px) {
  .human-block .decoration-circle.human-circle05 {
    top: 254.6666666667vw;
    left: 1.3333333333vw;
  }
}
.human-block .decoration-circle.human-circle06 {
  top: 220.6153846154vw;
  right: 20.2307692308vw;
}
@media only screen and (min-width: 1300px) {
  .human-block .decoration-circle.human-circle06 {
    top: 2868px;
    right: 263px;
  }
}
@media screen and (max-width: 767px) {
  .human-block .decoration-circle.human-circle06 {
    top: 340vw;
    right: 6.9333333333vw;
  }
}
.human-block .decoration-circle.human-circle07 {
  top: 27.5384615385vw;
  left: 16.1538461538vw;
}
@media only screen and (min-width: 1300px) {
  .human-block .decoration-circle.human-circle07 {
    top: 358px;
    left: 210px;
  }
}
@media screen and (max-width: 767px) {
  .human-block .decoration-circle.human-circle07 {
    top: 53.3333333333vw;
    left: 6.9333333333vw;
  }
}
.human-block .decoration-circle.human-circle08 {
  top: 150vw;
  left: 16.1538461538vw;
}
@media only screen and (min-width: 1300px) {
  .human-block .decoration-circle.human-circle08 {
    top: 1950px;
    left: 210px;
  }
}
@media screen and (max-width: 767px) {
  .human-block .decoration-circle.human-circle08 {
    top: 240vw;
    left: 6.9333333333vw;
  }
}
@media screen and (max-width: 767px) {
  .human-block .decoration-circle.human-circle09 {
    top: 274.1333333333vw;
    left: 11.4666666667vw;
  }
}

/* spot-list-block
* ----------------------------------------------- */
.spot-list-block {
  position: relative;
}
.spot-list-block .inner-block {
  max-width: 1300px;
  padding-top: 93px;
  padding-bottom: 75px;
  padding-left: 0;
  padding-right: 0;
  position: relative;
}
.spot-list-block .inner-block::before {
  background: #FFEFE8;
  content: "";
  height: 77.6923076923vw;
  position: absolute;
  bottom: 0;
  left: calc(50% - 55vw);
  right: 15.7692307692vw;
  margin: auto;
  z-index: -1;
}
@media only screen and (min-width: 1300px) {
  .spot-list-block .inner-block::before {
    height: 1010px;
    right: 205px;
  }
}
@media screen and (max-width: 767px) {
  .spot-list-block .inner-block::before {
    width: 100vw;
    left: 0;
    right: 0;
    bottom: inherit;
    height: 138.8vw;
    top: 33.3333333333vw;
  }
}
@media screen and (max-width: 767px) {
  .spot-list-block .inner-block {
    overflow: hidden;
    padding: 40px 0 49px;
  }
}
.spot-list-block .spot-list-ttl {
  position: relative;
  max-width: 55.7692307692vw;
  margin: 0 auto 8.3076923077vw;
}
@media only screen and (min-width: 1300px) {
  .spot-list-block .spot-list-ttl {
    max-width: 725px;
    margin-bottom: 108px;
  }
}
@media screen and (max-width: 767px) {
  .spot-list-block .spot-list-ttl {
    max-width: 92.4vw;
    margin: 0 auto 10.4vw;
  }
}
.spot-list-block .spot-list-ttl .sub {
  display: block;
  max-width: 23.4615384615vw;
  margin: 0 auto 2.6923076923vw;
}
@media only screen and (min-width: 1300px) {
  .spot-list-block .spot-list-ttl .sub {
    max-width: 305px;
    margin-bottom: 35px;
  }
}
@media screen and (max-width: 767px) {
  .spot-list-block .spot-list-ttl .sub {
    max-width: 36vw;
    margin-bottom: 4.8vw;
    margin-left: 26.6666666667vw;
  }
}
.spot-list-block .spot-list-ttl .main {
  display: block;
  max-width: 35.3846153846vw;
  margin: auto;
}
@media only screen and (min-width: 1300px) {
  .spot-list-block .spot-list-ttl .main {
    max-width: 460px;
  }
}
@media screen and (max-width: 767px) {
  .spot-list-block .spot-list-ttl .main {
    max-width: 53.7333333333vw;
    margin-left: 14.6666666667vw;
  }
}
.spot-list-block .spot-list-ttl .line {
  display: block;
  position: absolute;
  top: 0;
  bottom: -7.6923076923vw;
  margin: auto;
  height: 9.5384615385vw;
  width: 8.6153846154vw;
}
@media only screen and (min-width: 1300px) {
  .spot-list-block .spot-list-ttl .line {
    bottom: -100px;
    height: 124px;
    width: 112px;
  }
}
@media screen and (max-width: 767px) {
  .spot-list-block .spot-list-ttl .line {
    bottom: -16vw;
    height: 14.4vw;
    width: 13.3333333333vw;
  }
}
.spot-list-block .spot-list-ttl .line.left {
  left: 0;
}
.spot-list-block .spot-list-ttl .line.right {
  right: 0;
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
}
.spot-list-block .spot-list {
  position: relative;
}
.spot-list-block .spot-list .grid-wrap {
  display: -ms-grid;
  display: grid;
  grid-auto-columns: auto;
  -ms-grid-columns: auto 1.5384615385vw auto 1.5384615385vw auto 1.5384615385vw auto 1.5384615385vw auto 1.5384615385vw auto;
  grid-template-columns: auto auto auto auto auto auto;
  -ms-grid-rows: auto 1.5384615385vw auto 1.5384615385vw auto 1.5384615385vw auto;
  grid-template-rows: auto auto auto auto;
  gap: 1.5384615385vw 1.5384615385vw;
      grid-template-areas: "area01 area01 area02 area04 area06 area06" "area01 area01 area03 area05 area06 area06" "area07 area09 area11 area11 area12 area14" "area08 area10 area11 area11 area13 area15";
}
@media only screen and (min-width: 1300px) {
  .spot-list-block .spot-list .grid-wrap {
    gap: 20px 20px;
  }
}
@media screen and (max-width: 767px) {
  .spot-list-block .spot-list .grid-wrap {
    -ms-grid-columns: auto 0.1333333333vw auto 0.1333333333vw auto;
    grid-template-columns: auto auto auto;
    -ms-grid-rows: auto 0.1333333333vw auto 0.1333333333vw auto 0.1333333333vw auto 0.1333333333vw auto 0.1333333333vw auto 0.1333333333vw auto 0.1333333333vw auto 0.1333333333vw auto;
    grid-template-rows: auto auto auto auto auto auto auto auto auto;
    gap: 0.1333333333vw 0.1333333333vw;
        grid-template-areas: "area01 area01 area02" "area01 area01 area03" "area04 area06 area06" "area05 area06 area06" "area11 area11 area07" "area11 area11 area08" "area09 area12 area14" "area10 area13 area15";
  }
}
.spot-list-block .spot-list .grid-wrap .area01 {
  -ms-grid-row: 1;
  -ms-grid-row-span: 3;
  -ms-grid-column: 1;
  -ms-grid-column-span: 3;
  grid-area: area01;
}
.spot-list-block .spot-list .grid-wrap .area02 {
  -ms-grid-row: 1;
  -ms-grid-column: 5;
  grid-area: area02;
}
.spot-list-block .spot-list .grid-wrap .area03 {
  -ms-grid-row: 3;
  -ms-grid-column: 5;
  grid-area: area03;
}
.spot-list-block .spot-list .grid-wrap .area04 {
  -ms-grid-row: 1;
  -ms-grid-column: 7;
  grid-area: area04;
}
.spot-list-block .spot-list .grid-wrap .area05 {
  -ms-grid-row: 3;
  -ms-grid-column: 7;
  grid-area: area05;
}
.spot-list-block .spot-list .grid-wrap .area06 {
  -ms-grid-row: 1;
  -ms-grid-row-span: 3;
  -ms-grid-column: 9;
  -ms-grid-column-span: 3;
  grid-area: area06;
}
.spot-list-block .spot-list .grid-wrap .area07 {
  -ms-grid-row: 5;
  -ms-grid-column: 1;
  grid-area: area07;
}
.spot-list-block .spot-list .grid-wrap .area08 {
  -ms-grid-row: 7;
  -ms-grid-column: 1;
  grid-area: area08;
}
.spot-list-block .spot-list .grid-wrap .area09 {
  -ms-grid-row: 5;
  -ms-grid-column: 3;
  grid-area: area09;
}
.spot-list-block .spot-list .grid-wrap .area10 {
  -ms-grid-row: 7;
  -ms-grid-column: 3;
  grid-area: area10;
}
.spot-list-block .spot-list .grid-wrap .area11 {
  -ms-grid-row: 5;
  -ms-grid-row-span: 3;
  -ms-grid-column: 5;
  -ms-grid-column-span: 3;
  grid-area: area11;
}
.spot-list-block .spot-list .grid-wrap .area12 {
  -ms-grid-row: 5;
  -ms-grid-column: 9;
  grid-area: area12;
}
.spot-list-block .spot-list .grid-wrap .area13 {
  -ms-grid-row: 7;
  -ms-grid-column: 9;
  grid-area: area13;
}
.spot-list-block .spot-list .grid-wrap .area14 {
  -ms-grid-row: 5;
  -ms-grid-column: 11;
  grid-area: area14;
}
.spot-list-block .spot-list .grid-wrap .area15 {
  -ms-grid-row: 7;
  -ms-grid-column: 11;
  grid-area: area15;
}
@media screen and (max-width: 767px){
  .spot-list-block .spot-list .grid-wrap .area01 {
    -ms-grid-row: 1;
    -ms-grid-row-span: 3;
    -ms-grid-column: 1;
    -ms-grid-column-span: 3;
  }
  .spot-list-block .spot-list .grid-wrap .area02 {
    -ms-grid-row: 1;
    -ms-grid-column: 5;
  }
  .spot-list-block .spot-list .grid-wrap .area03 {
    -ms-grid-row: 3;
    -ms-grid-column: 5;
  }
  .spot-list-block .spot-list .grid-wrap .area04 {
    -ms-grid-row: 5;
    -ms-grid-column: 1;
  }
  .spot-list-block .spot-list .grid-wrap .area05 {
    -ms-grid-row: 7;
    -ms-grid-column: 1;
  }
  .spot-list-block .spot-list .grid-wrap .area06 {
    -ms-grid-row: 5;
    -ms-grid-row-span: 3;
    -ms-grid-column: 3;
    -ms-grid-column-span: 3;
  }
  .spot-list-block .spot-list .grid-wrap .area07 {
    -ms-grid-row: 9;
    -ms-grid-column: 5;
  }
  .spot-list-block .spot-list .grid-wrap .area08 {
    -ms-grid-row: 11;
    -ms-grid-column: 5;
  }
  .spot-list-block .spot-list .grid-wrap .area09 {
    -ms-grid-row: 13;
    -ms-grid-column: 1;
  }
  .spot-list-block .spot-list .grid-wrap .area10 {
    -ms-grid-row: 15;
    -ms-grid-column: 1;
  }
  .spot-list-block .spot-list .grid-wrap .area11 {
    -ms-grid-row: 9;
    -ms-grid-row-span: 3;
    -ms-grid-column: 1;
    -ms-grid-column-span: 3;
  }
  .spot-list-block .spot-list .grid-wrap .area12 {
    -ms-grid-row: 13;
    -ms-grid-column: 3;
  }
  .spot-list-block .spot-list .grid-wrap .area13 {
    -ms-grid-row: 15;
    -ms-grid-column: 3;
  }
  .spot-list-block .spot-list .grid-wrap .area14 {
    -ms-grid-row: 13;
    -ms-grid-column: 5;
  }
  .spot-list-block .spot-list .grid-wrap .area15 {
    -ms-grid-row: 15;
    -ms-grid-column: 5;
  }
}
.spot-list-block .spot-list .spot {
  cursor: pointer;
}
.spot-list-block .spot-list .spot .inn {
  position: relative;
  display: block;
}
@media screen and (min-width: 768px) {
  .spot-list-block .spot-list .spot .inn:hover::before {
    opacity: 1;
    -webkit-transition: 0.6s ease;
    transition: 0.6s ease;
  }
  .spot-list-block .spot-list .spot .inn:hover .caption {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
    -webkit-transition: 0.6s ease;
    transition: 0.6s ease;
  }
}
.spot-list-block .spot-list .spot .inn::before {
  background: rgba(0, 0, 0, 0.4);
  content: "";
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  -webkit-transition: 0.6s ease;
  transition: 0.6s ease;
}
.spot-list-block .spot-list .spot .inn .caption {
  color: #fff;
  font-size: 16px;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: auto;
  text-align: center;
  opacity: 0;
  -webkit-transition: 0.6s ease;
  transition: 0.6s ease;
  -webkit-transform: translateY(-5px);
          transform: translateY(-5px);
}
@media screen and (max-width: 767px) {
  .spot-list-block .spot-list .spot .inn .caption {
    display: none;
  }
}
.spot-list-block .spot-list .spot img {
  width: 100%;
}
.spot-list-block .ico-character {
  position: absolute;
  display: block;
  height: 160px;
  top: -140px;
  right: 200px;
  width: 107px;
  z-index: 10;
}
@media only screen and (min-width: 768px) and (max-width: 1390px) {
  .spot-list-block .ico-character {
    height: 12.3076923077vw;
    top: -10.7692307692vw;
    right: 15.3846153846vw;
    width: 8.2307692308vw;
  }
}
@media screen and (max-width: 767px) {
  .spot-list-block .ico-character {
    width: 14.2666666667vw;
    height: 21.2vw;
    right: 11.2vw;
    top: -22.6666666667vw;
  }
}
.spot-list-block .text-img {
  position: absolute;
  bottom: 0;
  top: 2.3076923077vw;
  right: 5.3846153846vw;
  margin: auto;
  height: 4.8461538462vw;
  pointer-events: none;
}
@media only screen and (min-width: 1300px) {
  .spot-list-block .text-img {
    top: 30px;
    right: 70px;
    height: 63px;
  }
}
@media screen and (max-width: 767px) {
  .spot-list-block .text-img {
    top: inherit;
    bottom: 62.6666666667vw;
    right: 10.6666666667vw;
    max-width: 24vw;
  }
}
.spot-list-block .modal-box {
  background: #000;
  width: auto;
  height: auto;
  position: fixed;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 999;
  width: 80%;
  opacity: 0;
  pointer-events: none;
  max-width: 1200px;
  -webkit-transition: 0.5s ease;
  transition: 0.5s ease;
}
.spot-list-block .modal-box img {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .spot-list-block .modal-box {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .spot-list-block .modal-box {
    padding: 26.6666666667vw 20vw 16vw;
    width: 100%;
  }
  .spot-list-block .modal-box img {
    width: 100%;
  }
}
.spot-list-block .modal-box.is-open {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  opacity: 1;
  pointer-events: all;
  -webkit-transition: 0.5s ease;
  transition: 0.5s ease;
}
.spot-list-block .modal-box .caption {
  color: #fff;
  display: block;
  margin-top: 3.2vw;
  text-align: center;
}
.spot-list-block .modal-box .js-modalclose {
  border: 1px solid #fff;
  border-radius: 100px;
  cursor: pointer;
  height: 6.6666666667vw;
  width: 6.6666666667vw;
  position: absolute;
  top: 16.4vw;
  right: 19.6vw;
}
.spot-list-block .modal-box .js-modalclose::before, .spot-list-block .modal-box .js-modalclose::after {
  background: #fff;
  content: "";
  height: 2.6666666667vw;
  width: 0.2666666667vw;
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  margin: auto;
}
.spot-list-block .modal-box .js-modalclose::before {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.spot-list-block .modal-box .js-modalclose::after {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
.spot-list-block .modal-bg {
  cursor: pointer;
  display: none;
  position: fixed;
  width: 100%;
  height: 100%;
  background: #333;
  opacity: 0.7;
  z-index: 0;
  top: 0;
  left: 0;
  right: 0;
  z-index: 999;
}
.spot-list-block .modal-bg.is-open {
  display: block;
}

/* base-block
* ----------------------------------------------- */
.base-block {
  background: #e8e8e8;
  padding: 100px 0;
}
@media screen and (max-width: 767px) {
  .base-block {
    padding: 10.6666666667vw 0;
  }
}
.base-block .base-ttl {
  font-size: 24px;
  font-weight: bold;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .base-block .base-ttl {
    letter-spacing: 0.2rem;
  }
}
@media screen and (max-width: 767px) {
  .base-block .base-ttl {
    font-size: 4.8vw;
    letter-spacing: 0.05rem;
  }
}
.base-block .base-txt {
  font-size: 16px;
  font-weight: bold;
  margin: 30px auto 0;
}
@media screen and (min-width: 768px) {
  .base-block .base-txt {
    text-align: center;
    letter-spacing: 0.05rem;
  }
}
@media screen and (max-width: 767px) {
  .base-block .base-txt {
    font-size: 3.7333333333vw;
    margin-top: 1.3333333333vw;
    line-height: 1.5;
  }
}
.base-block .base-contents {
  background: #fff;
  margin-top: 40px;
  padding: 140px 110px 0;
}
@media screen and (max-width: 767px) {
  .base-block .base-contents {
    margin-top: 4vw;
    padding: 9.3333333333vw 5.3333333333vw 0;
  }
}
.base-block .business-ttl {
  border-bottom: solid 1px #888c9b;
  font-size: 28px;
  font-weight: bold;
  margin-bottom: 70px;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .base-block .business-ttl {
    font-size: 5.3333333333vw;
    margin-bottom: 13.3333333333vw;
  }
}
.base-block .base-item {
  padding-bottom: 100px;
}
@media screen and (max-width: 767px) {
  .base-block .base-item {
    padding-bottom: 26.6666666667vw;
  }
}
.base-block .explanation-area {
  font-size: 15px;
}
@media screen and (min-width: 768px) {
  .base-block .explanation-area {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 4.6153846154vw;
  }
}
@media only screen and (min-width: 1300px) {
  .base-block .explanation-area {
    gap: 60px;
  }
}
@media screen and (max-width: 767px) {
  .base-block .explanation-area {
    font-size: 3.2vw;
  }
}
.base-block .explanation-area .img-area {
  width: 23.0769230769vw;
}
@media only screen and (min-width: 1300px) {
  .base-block .explanation-area .img-area {
    width: 300px;
  }
}
@media screen and (max-width: 767px) {
  .base-block .explanation-area .img-area {
    width: 56vw;
    margin: 0 auto;
  }
}
@media screen and (min-width: 768px) {
  .base-block .explanation-area .txt-area {
    width: calc(100% - 27.6923076923vw);
  }
}
@media only screen and (min-width: 1300px) {
  .base-block .explanation-area .txt-area {
    width: calc(100% - 360px);
  }
}
@media screen and (max-width: 767px) {
  .base-block .explanation-area .txt-area {
    margin-top: 9.3333333333vw;
  }
}
.base-block .explanation-area .txt-area .name {
  font-size: 20px;
  font-weight: bold;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .base-block .explanation-area .txt-area .name {
    font-size: 3.7333333333vw;
  }
}
.base-block .explanation-area .txt-area .txt {
  margin-top: 10px;
}
@media screen and (min-width: 768px) {
  .base-block .explanation-area .txt-area .txt {
    letter-spacing: 0.1rem;
  }
}
@media screen and (max-width: 767px) {
  .base-block .explanation-area .txt-area .txt {
    margin-top: 4vw;
  }
}
.base-block .base-table {
  margin-top: 50px;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .base-block .base-table {
    margin-top: 5.3333333333vw;
  }
}
.base-block .base-table tr {
  border-top: solid 1px #bbc0cf;
}
.base-block .base-table tr:last-child {
  border-bottom: solid 1px #bbc0cf;
}
.base-block .base-table th,
.base-block .base-table td {
  font-weight: 500;
  padding: 10px 10px 10px 20px;
  vertical-align: top;
}
@media screen and (max-width: 767px) {
  .base-block .base-table th,
.base-block .base-table td {
    padding: 1.8666666667vw 0;
    line-height: 1.3;
  }
}
.base-block .base-table th {
  width: 120px;
}
@media screen and (max-width: 767px) {
  .base-block .base-table th {
    width: 24.6666666667vw;
  }
}
.base-block .blank-link {
  position: relative;
  padding-right: 25px;
  -webkit-transition: opacity 0.26s ease;
  transition: opacity 0.26s ease;
}
@media screen and (max-width: 767px) {
  .base-block .blank-link {
    padding-right: 5.3333333333vw;
  }
}
.base-block .blank-link::after {
  background: url(../img/blank-link.svg) no-repeat center center;
  background-size: 100% 100%;
  content: "";
  display: block;
  height: 15px;
  position: absolute;
  width: 15px;
  top: 0;
  right: 0;
  margin: auto;
}
@media screen and (max-width: 767px) {
  .base-block .blank-link::after {
    height: 3.7333333333vw;
    width: 3.7333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .base-block .blank-link:hover {
    opacity: 0.6;
  }
}

/* page-top
* ----------------------------------------------- */
.page-top {
  z-index: 100;
  right: 30px;
}
@media screen and (min-width: 768px) {
  .page-top a:hover img {
    -webkit-transform: scale(1.1, 1.1);
            transform: scale(1.1, 1.1);
  }
}
.page-top img {
  width: 75px;
  height: 76px;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
@media screen and (max-width: 767px) {
  .page-top img {
    width: 10.6666666667vw;
    height: 10.8vw;
  }
}