@charset "UTF-8";
/*==================================================================================================
    サイト基礎
==================================================================================================*/
/*==================================================================================================
    main
==================================================================================================*/
.top-main {
  position: relative;
  z-index: 1;
}
.top-main__btn {
  position: fixed;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
  left: 50%;
  bottom: 1em;
  -webkit-transition: 0s;
  transition: 0s;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
  width: 56.25%;
  z-index: 100;
}
@media screen and (max-width: 768px) {
  .top-main__btn {
    width: 100%;
    -webkit-box-pack: space-evenly;
    -webkit-justify-content: space-evenly;
        -ms-flex-pack: space-evenly;
            justify-content: space-evenly;
  }
}
.top-main__btn a {
  display: block;
  width: 48.1481481481%;
  margin: 0 2%;
}
@media screen and (max-width: 768px) {
  .top-main__btn a {
    margin: 0;
  }
}
@media screen and (max-width: 768px) {
  .top-main__cont {
    padding: 3% 0 3% 3%;
    background: #1a323d;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.top-main__ttl {
  position: absolute;
  bottom: 6%;
  left: 1.0416666667%;
  z-index: 1;
  width: 57.2916666667%;
}
@media screen and (max-width: 768px) {
  .top-main__ttl {
    position: static;
    width: 50%;
  }
}
.top-main__txt {
  position: absolute;
  bottom: 0;
  margin-bottom: -3.125%;
  right: 2.0833333333%;
  z-index: 100;
  width: 36.8229166667%;
}
@media screen and (max-width: 768px) {
  .top-main__txt {
    position: static;
    margin-bottom: 0;
    width: 49%;
  }
}
.top-main .swiper-container {
  width: 100%;
  overflow: hidden;
  height: 90vh;
}
@media screen and (min-width: 1081px) {
  .top-main .swiper-container {
    max-height: 800px;
  }
}
@media screen and (max-width: 768px) {
  .top-main .swiper-container {
    max-height: 600px;
    height: 60vh;
  }
}
@media screen and (max-width: 640px) {
  .top-main .swiper-container {
    max-height: 20em;
  }
}
.top-main .swiper-container .swiper-wrapper .swiper-slide {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}

.modaal-wrapper .modaal-close {
  font-size: clamp(0.625em, 1vw, 1em);
  display: block;
  background: #9DC938;
  width: 3.75em;
  height: 3.75em;
  padding: 1.25em 1.25em 1.5em;
  font-weight: bold;
  -webkit-transform: translate(50%, -50%);
          transform: translate(50%, -50%);
}
.modaal-wrapper .modaal-close:before, .modaal-wrapper .modaal-close:after {
  background-color: #FFF;
  width: 2px;
  height: 1.875em;
  top: calc(0.9375em + 1px);
  left: 50%;
}
.sec-btn-cont {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-justify-content: space-around;
      -ms-flex-pack: distribute;
          justify-content: space-around;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
  max-width: 1080px;
  min-width: 240px;
  margin: 2em auto 0;
  width: 57.4468085106%;
}
.sec-btn-cont a {
  display: block;
  margin: 1em auto 0;
  width: 48.1481481481%;
}
@media screen and (max-width: 768px) {
  .sec-btn-cont a {
    width: 31.25em;
  }
}
.sec-btn-cont a + .sec-btn-cont a {
  margin-top: 1em;
}

.sec {
  padding: 5em 20px;
}
.sec__ttl {
  margin-bottom: 1em;
  text-align: center;
  font-size: 3em;
  letter-spacing: 0.05em;
  font-family: "Montserrat", serif;
  font-weight: 400;
}
.sec__ttl2 {
  text-align: center;
  color: #FFF;
  background: url(../img/top/sec04_bg.png) no-repeat;
  background-size: 100% auto;
  background-position: center;
  height: 40.75em;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 0 20px;
  line-height: 1;
  font-weight: 900;
  position: relative;
  z-index: 5;
}
@media screen and (max-width: 768px) {
  .sec__ttl2 {
    background-size: cover;
    height: 28.25em;
  }
}
.sec__ttl2 .main {
  font-size: 3.75em;
  display: block;
}
@media screen and (max-width: 768px) {
  .sec__ttl2 .main {
    font-size: 1.9166666667em;
  }
}
.sec__ttl2 .sub {
  font-size: 2em;
  display: block;
  line-height: 2.2352941176;
}
@media screen and (max-width: 768px) {
  .sec__ttl2 .sub {
    margin-bottom: 0.5em;
    font-size: 1.25em;
  }
}
.sec__ttl3 {
  text-align: center;
  margin-bottom: 4em;
}
.sec__ttl3 img {
  height: 10.1875em;
}
@media screen and (max-width: 768px) {
  .sec__ttl3 img {
    height: 5.3333333333em;
  }
}
.sec.--00 {
  padding: 6.25em 20px;
  background: url(../img/top/sec00_bg.png) no-repeat;
  background-size: cover;
  text-align: center;
  position: relative;
}
@media screen and (max-width: 768px) {
  .sec.--00 {
    padding: 3.75em 20px;
  }
}
.sec.--00 .sec__inner {
  max-width: 1366px;
  width: 71.1458333333%;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .sec.--00 .sec__inner {
    width: 100%;
  }
}
.sec.--00 .sec00-ttl {
  max-width: 1400px;
  width: 72.9166666667%;
  margin: 0 auto 6em;
}
@media screen and (max-width: 768px) {
  .sec.--00 .sec00-ttl {
    width: 100%;
    margin-bottom: 3em;
  }
}
.sec.--00 .sec00-txt {
  max-width: 970px;
  width: 71.0102489019%;
}
@media screen and (max-width: 768px) {
  .sec.--00 .sec00-txt {
    width: 100%;
  }
}
.sec.--00 .sec00-img {
  position: absolute;
  right: 5%;
  bottom: -6%;
  width: 27.34375%;
  max-width: 525px;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .sec.--00 .sec00-img {
    bottom: auto;
    top: 5%;
    right: 3%;
    width: 18%;
  }
}
.sec.--01 {
  background: url(../img/top/sec01_bg.svg) no-repeat;
  background-size: cover;
  text-align: center;
}
.sec.--01 .sec01-ul {
  width: 93.75%;
  margin: 0 auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin-bottom: 3em;
}
@media screen and (max-width: 768px) {
  .sec.--01 .sec01-ul {
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 100%;
  }
}
.sec.--01 .sec01-ul li {
  width: 18.6666666667%;
}
@media screen and (min-width: 769px) {
  .sec.--01 .sec01-ul li {
    margin-bottom: 1.6666666667%;
  }
  .sec.--01 .sec01-ul li:not(:nth-of-type(5n+1)) {
    margin-left: 1.6666666667%;
  }
}
@media screen and (max-width: 768px) {
  .sec.--01 .sec01-ul li {
    width: 48%;
    margin-bottom: 4%;
  }
}
.sec.--01 .sec01-bnr {
  text-align: center;
}
.sec.--01 .sec01-bnr img {
  max-width: 1080px;
  width: 57.4468085106%;
}
@media screen and (max-width: 768px) {
  .sec.--01 .sec01-bnr img {
    width: 100%;
  }
}
.sec.--02 {
  padding-top: 0;
  padding-left: 0;
  padding-right: 0;
  background: #edf2ee;
}
.sec.--02 .sec02-ttl {
  text-align: center;
  margin-bottom: 3em;
}
@media screen and (max-width: 768px) {
  .sec.--02 .sec02-ttl {
    margin-bottom: 0;
  }
}
.sec.--02 .sec02-subttl {
  max-width: 924px;
  width: perncetage(924/1920);
  margin: 0 auto 6em;
}
@media screen and (max-width: 768px) {
  .sec.--02 .sec02-subttl {
    margin-bottom: 2em;
  }
}
.sec.--02 .sec02-area {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 94.7916666667%;
  margin-bottom: 3em;
}
@media screen and (max-width: 768px) {
  .sec.--02 .sec02-area {
    width: 100%;
    display: block;
  }
}
.sec.--02 .sec02-area__img {
  width: 51.4285714286%;
}
@media screen and (max-width: 768px) {
  .sec.--02 .sec02-area__img {
    width: auto;
    margin-left: -20px;
    margin-right: -20px;
  }
}
.sec.--02 .sec02-area__cont {
  padding-top: 2%;
  width: 45.7142857143%;
}
@media screen and (max-width: 768px) {
  .sec.--02 .sec02-area__cont {
    width: 100%;
    margin-left: 0;
    padding-left: 20px;
    padding-right: 20px;
  }
}
.sec.--02 .sec02-area__num {
  margin-bottom: 2em;
}
@media screen and (max-width: 768px) {
  .sec.--02 .sec02-area__num {
    text-align: left;
  }
}
.sec.--02 .sec02-area__num img {
  width: 15.375em;
}
@media screen and (max-width: 768px) {
  .sec.--02 .sec02-area__num img {
    width: 9.1666666667em;
  }
}
.sec.--02 .sec02-area__ttl {
  font-size: 2.75em;
  font-weight: 900;
  margin-bottom: 0.75em;
  line-height: 1.5909090909;
}
@media screen and (max-width: 768px) {
  .sec.--02 .sec02-area__ttl {
    font-size: 1.8333333333em;
    margin-bottom: 0.25em;
  }
}
.sec.--02 .sec02-area__ttl span {
  display: inline-block;
  position: relative;
}
.sec.--02 .sec02-area__ttl span:after {
  content: "";
  position: absolute;
  z-index: -1;
  bottom: 0.2272727273em;
  left: 0;
  width: 100%;
  height: 0.2954545455em;
  background: #9DC938;
}
.sec.--02 .sec02-area__txt {
  font-size: 1.125em;
  line-height: 2;
}
.sec.--02 .sec02-area--re {
  margin-left: 5.2083333333%;
}
@media screen and (max-width: 768px) {
  .sec.--02 .sec02-area--re {
    margin-left: 0;
  }
}
.sec.--02 .sec02-area--re .sec02-area__img {
  -webkit-box-ordinal-group: 3;
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2;
}
.sec.--02 .sec02-area--re .sec02-area__cont {
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1;
  margin-left: 0;
  position: relative;
  z-index: 10;
}
@media screen and (max-width: 768px) {
  .sec.--02 .sec02-area--re .sec02-area__cont {
    margin-right: 0;
    width: 100%;
  }
}
.sec.--02 .sec02-area--re .sec02-area__num {
  text-align: left;
}
.sec.--02 .sec02-area--re .sec02-area__ttl {
  margin-left: 0;
  margin-right: -6em;
}
@media screen and (max-width: 768px) {
  .sec.--02 .sec02-area--re .sec02-area__ttl {
    margin-right: 0;
  }
}
.sec.--02 .concept-list-area .slick-slide {
  margin-left: 6.25em;
}
@media screen and (max-width: 768px) {
  .sec.--02 .concept-list-area .slick-slide {
    margin-left: 1.25em;
  }
}
.sec.--03 {
  padding: 0 20px 16vw;
  margin-bottom: -16vw;
  background: #edf2ee;
  position: relative;
}
.sec.--03:before {
  content: "";
  position: absolute;
  z-index: 1;
  top: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  -webkit-clip-path: polygon(0 28%, 100% 0%, 100% 100%, 0 100%);
          clip-path: polygon(0 28%, 100% 0%, 100% 100%, 0 100%);
  background: #9DC938;
}
@media screen and (max-width: 768px) {
  .sec.--03:before {
    top: 10%;
    -webkit-clip-path: polygon(0 10%, 100% 0%, 100% 100%, 0 100%);
            clip-path: polygon(0 10%, 100% 0%, 100% 100%, 0 100%);
  }
}
.sec.--03:after {
  content: "";
  position: absolute;
  z-index: 2;
  top: 28%;
  bottom: 0;
  left: 0;
  width: 100%;
  -webkit-clip-path: polygon(0 25%, 100% 0%, 100% 100%, 0 100%);
          clip-path: polygon(0 25%, 100% 0%, 100% 100%, 0 100%);
  background: #FFF;
}
@media screen and (max-width: 768px) {
  .sec.--03:after {
    top: 25%;
    -webkit-clip-path: polygon(0 8%, 100% 0%, 100% 100%, 0 100%);
            clip-path: polygon(0 8%, 100% 0%, 100% 100%, 0 100%);
  }
}
.sec.--03 .sec03-ttl {
  max-width: 654px;
  width: 34.7872340426%;
  min-width: 300px;
  margin: 0 auto 3em;
}
.sec.--04 {
  background: #edf2ee;
  padding-left: 0;
  padding-top: 0;
  padding-right: 0;
  margin-top: -1px;
}
.sec.--04 .sec04-subttl {
  text-align: center;
  font-size: 2.75em;
  font-weight: 900;
  margin-bottom: 1em;
  padding: 0 20px;
}
@media screen and (max-width: 768px) {
  .sec.--04 .sec04-subttl {
    font-size: 2.3333333333em;
  }
}
.sec.--04 .sec04-subttl span {
  font-size: 0.8181818182em;
  color: #9DC938;
}
.sec.--04 .sec04-img {
  padding: 0 20px;
  margin-top: 2em;
  text-align: center;
}
.sec.--04 .sec04-img img {
  height: 22.5em;
}
@media screen and (max-width: 768px) {
  .sec.--04 .sec04-img img {
    height: auto;
    max-width: 400px;
  }
}
.sec.--04 .sec04-cont + .sec04-cont {
  padding-top: 6em;
  margin-top: 6em;
  position: relative;
}
@media screen and (max-width: 768px) {
  .sec.--04 .sec04-cont + .sec04-cont {
    padding-top: 3em;
    margin-top: 3em;
  }
}
.sec.--04 .sec04-cont + .sec04-cont:after {
  content: "";
  width: 5.875em;
  height: 1px;
  background: #9DC938;
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
}
.sec.--04 .sec04-area {
  max-width: 1320px;
  width: 80%;
  margin: 0 auto;
  padding: 0 20px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: space-evenly;
  -webkit-justify-content: space-evenly;
      -ms-flex-pack: space-evenly;
          justify-content: space-evenly;
  font-size: 1.5em;
}
@media screen and (max-width: 768px) {
  .sec.--04 .sec04-area {
    width: 100%;
  }
}
.sec.--04 .sec04-area__box {
  width: 46%;
}
@media screen and (max-width: 768px) {
  .sec.--04 .sec04-area__box {
    width: 100%;
    margin-bottom: 2em;
  }
}
.sec.--04 .sec04-area__txt {
  margin-bottom: 1em;
  font-weight: 900;
}
.sec.--04 .sec04-area__ul li:before {
  content: "";
  width: 0.875em;
  height: 0.625em;
  background: url(../img/common/ico_check.svg) no-repeat;
  background-size: 100% auto;
  display: inline-block;
  margin-right: 0.5em;
}
.sec.--04 .sec04-area__read {
  background: #9DC938;
  color: #FFF;
  padding: 1em;
  text-align: center;
  font-weight: 900;
}
.sec.--04 .sec04-slider {
  margin: 0 auto 3em;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.sec.--04 .sec04-slider li {
  width: 30.442804428%;
}
@media screen and (max-width: 768px) {
  .sec.--04 .sec04-slider li {
    width: 70%;
  }
}
.sec.--04 .sec04-slider .slick-slide {
  margin-right: 3.125em;
  margin-left: 3.125em;
}
@media screen and (max-width: 768px) {
  .sec.--04 .sec04-slider .slick-slide {
    margin-right: 0.625em;
    margin-left: 0.625em;
  }
}
.sec.--04 .sec04-ul {
  margin: 0 auto 2em;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  max-width: 1280px;
}
.sec.--04 .sec04-ul li {
  width: 30.442804428%;
}
@media screen and (max-width: 768px) {
  .sec.--04 .sec04-ul li {
    width: 80%;
    margin: 0 auto 2em;
  }
}
.sec.--04 .sec04-voice {
  margin-top: 5em;
  padding: 0 20px;
}
.sec.--04 .sec04-voice__area {
  margin-bottom: 4em;
}
.sec.--04 .sec04-voice__ttl {
  max-width: 356px;
  min-width: 240px;
  width: 18.5416666667%;
  margin: 0 auto 3em;
}
.sec.--04 .sec04-voice__read {
  text-align: center;
  font-size: 2.25em;
  margin-bottom: 1em;
  font-weight: 900;
}
@media screen and (max-width: 768px) {
  .sec.--04 .sec04-voice__read {
    font-size: 1.9166666667em;
  }
}
.sec.--04 .sec04-voice__txt {
  max-width: 1024px;
  margin: 1.5em auto 0;
  font-weight: 500;
  font-size: 1.25em;
}
.sec.--04 .sec04-voice__txt span {
  font-weight: 900;
  color: #9DC938;
}
.sec.--04 .sec04-voice__txt.-lg {
  font-size: 2.75em;
  font-weight: 900;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .sec.--04 .sec04-voice__txt.-lg {
    font-size: 2.3333333333em;
  }
}
@media screen and (max-width: 768px) {
  .sec.--staff {
    padding-left: 0;
    padding-right: 0;
  }
}
.sec.--staff .staff-ttl {
  text-align: center;
  margin-bottom: 4em;
}
.sec.--staff .staff-ttl img {
  width: 21.4375em;
}
@media screen and (max-width: 768px) {
  .sec.--staff .staff-ttl img {
    width: 17.9166666667em;
  }
}
.sec.--price {
  padding: 15em 20px;
  background: #edf2ee;
  -webkit-clip-path: polygon(0 10vw, 100% 0%, 100% calc(100% - 10vw), 0 100%);
          clip-path: polygon(0 10vw, 100% 0%, 100% calc(100% - 10vw), 0 100%);
}
@media screen and (max-width: 768px) {
  .sec.--price {
    padding: 10em 20px;
  }
}
.sec.--access {
  padding-left: 0;
  padding-right: 0;
  padding-bottom: 0;
}

.sec03-slider__inner {
  width: 71.1458333333%;
  margin: 0 auto;
  position: relative;
}
@media screen and (max-width: 768px) {
  .sec03-slider__inner {
    width: 90%;
  }
}
.sec03-slider .swiper-slide {
  height: auto;
}
.sec03-slider .swiper-button-prev,
.sec03-slider .swiper-button-next {
  width: 3.125em;
  height: 5.695em;
  margin-top: 0;
  background-size: 100% auto;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
}
@media screen and (max-width: 768px) {
  .sec03-slider .swiper-button-prev,
  .sec03-slider .swiper-button-next {
    width: 1.25em;
    height: 2.275em;
  }
}
.sec03-slider .swiper-button-prev {
  background-image: url(../img/common/arrow_prev.svg);
  left: auto;
  right: 100%;
  margin-right: 5%;
}
@media screen and (max-width: 768px) {
  .sec03-slider .swiper-button-prev {
    margin-right: 4%;
  }
}
.sec03-slider .swiper-button-next {
  background-image: url(../img/common/arrow_next.svg);
  left: 100%;
  right: auto;
  margin-left: 5%;
}
@media screen and (max-width: 768px) {
  .sec03-slider .swiper-button-next {
    margin-left: 4%;
  }
}

.sec03-ul {
  border: 0.9375em solid #9DC938;
  padding: 2em;
  background: #FFF;
  height: 100%;
}
.sec03-ul__ico {
  text-align: center;
  margin-bottom: 1em;
  display: block;
}
.sec03-ul__ico img {
  width: auto;
  height: 6.25em;
}
.sec03-ul__ttl {
  text-align: center;
  font-size: 1.875em;
  color: #9DC938;
  line-height: 1.4;
  margin-bottom: 1em;
}
.sec03-ul__txt {
  font-size: 1em;
  line-height: 1.9285714286;
}

.case-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: space-evenly;
  -webkit-justify-content: space-evenly;
      -ms-flex-pack: space-evenly;
          justify-content: space-evenly;
  max-width: 1306px;
  width: 100%;
  margin: 0 auto;
  position: relative;
  z-index: 3;
}
.case-list li {
  width: 47.7029096478%;
  padding: 0 6.4205457464%;
  margin-bottom: 6em;
}
@media screen and (max-width: 768px) {
  .case-list li {
    width: 100%;
    padding: 0;
  }
}
.case-list figure {
  margin: 0 auto 2em;
  width: 64.4567219153%;
}
@media screen and (max-width: 768px) {
  .case-list figure {
    width: 55.2486187845%;
  }
}
.case-list__num {
  font-family: "Lato", sans-serif;
  font-weight: 600;
  font-size: 1.75em;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .case-list__num {
    font-size: 1.4583333333em;
  }
}
.case-list__ttl {
  font-size: 2.25em;
  line-height: 1.4;
  margin-top: 0.3em;
  margin-bottom: 0.3em;
}
@media screen and (max-width: 768px) {
  .case-list__ttl {
    font-size: 1.9166666667em;
  }
}
.case-list__name {
  font-size: 1.25em;
  font-weight: 900;
  margin-top: 0.25em;
}
.case-list__txt {
  font-size: 1.125em;
  font-weight: 500;
  margin-top: 2em;
}

.staff-list {
  max-width: 1280px;
  width: 80%;
  margin: 0 auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media screen and (max-width: 768px) {
  .staff-list {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .staff-list .slick-slide {
    margin-right: 1.25em;
    margin-left: 1.25em;
  }
}
.staff-list li {
  width: 46.875%;
  display: -webkit-box !important;
  display: -webkit-flex !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  position: relative;
  margin-bottom: 4em;
}
@media screen and (max-width: 768px) {
  .staff-list li {
    margin-bottom: 0em;
  }
}
.staff-list li figure {
  width: 14.75em;
}
@media screen and (max-width: 768px) {
  .staff-list li figure {
    width: 13.3333333333em;
    margin: 0 auto 1em;
  }
}
.staff-list li .info {
  width: calc(100% - 16.875em);
}
@media screen and (max-width: 768px) {
  .staff-list li .info {
    width: 100%;
  }
}
.staff-list li .info .name {
  font-size: 1.5em;
  display: block;
  font-weight: bold;
  font-weight: 900;
}
.staff-list li .info .name_en {
  font-size: 1em;
  color: #9DC938;
  display: block;
  font-weight: 600;
  font-family: "Lato", sans-serif;
}
.staff-list li .info dl {
  margin-top: 1em;
  font-size: 1em;
  font-weight: 500;
}
.staff-list li .info dl dt {
  padding: 0.1em 0.75em;
  background: #edf2ee;
  display: inline-block;
  border-radius: 50em;
}
.staff-list li .info dl dd {
  margin-top: 0.5em;
}
.staff-list li .info dl dd + dt {
  margin-top: 1em;
}
.staff-list li .read {
  width: 100%;
  font-size: 1.125em;
  margin-top: 1.5em;
  font-weight: 500;
}

.review-sec {
  background: url(../img/top/review_bg.png) no-repeat;
  background-size: cover;
  background-position: center;
  padding: 8em 20px;
}
@media screen and (max-width: 768px) {
  .review-sec {
    padding: 10em 20px 5em;
  }
}
.review-sec__ttl {
  text-align: center;
  font-size: 2.625em;
  font-weight: 900;
  margin-bottom: 1em;
}
.review-sec__ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 86.25%;
  margin: 0 auto;
}
.review-sec__ul li {
  width: 32%;
}
@media screen and (max-width: 768px) {
  .review-sec__ul li {
    width: 100%;
    margin-bottom: 1em;
  }
}

.facility-sec {
  background-image: url(../img/top/facility_bg_txt.svg), url(../img/top/facility_bg.png);
  background-repeat: no-repeat, no-repeat;
  background-size: 100% auto, cover;
  background-position: top center, top center;
  padding: 8em 20px calc(5em + 18vw);
  margin-bottom: -18vw;
}
@media screen and (max-width: 768px) {
  .facility-sec {
    margin-bottom: -35vw;
    padding: 5em 20px 35vw;
  }
}
.facility-sec__ttl {
  text-align: center;
  font-size: 2.625em;
  font-weight: 900;
  margin-bottom: 1em;
  color: #FFF;
}
@media screen and (max-width: 768px) {
  .facility-sec__ttl {
    font-size: 2.5em;
  }
}
.facility-sec__txt {
  font-size: 1.375em;
  text-align: center;
  color: #FFF;
  margin-bottom: 2em;
}
.facility-sec__img {
  margin-top: 3em;
  position: relative;
  width: 65.625%;
  max-width: 1260px;
  margin: 3em auto 0;
}
@media screen and (max-width: 768px) {
  .facility-sec__img {
    width: 100%;
  }
}
.facility-sec__img .pin {
  position: absolute;
  width: 5.3174603175%;
  height: 0;
  padding-top: 5.3174603175%;
  border-radius: 50em;
}
.facility-sec__img .pin:hover {
  background: rgba(255, 255, 255, 0.3);
}
.facility-sec__img .pin.--01 {
  top: 18.288184438%;
  left: 22.5714285714%;
}
.facility-sec__img .pin.--02 {
  top: 7.6023054755%;
  left: 45.626984127%;
}
.facility-sec__img .pin.--03 {
  top: 22.6109510086%;
  left: 62.0396825397%;
}
.facility-sec__img .pin.--04 {
  top: 6.2997118156%;
  left: 77.5952380952%;
}
.facility-sec__img .pin.--05 {
  top: 29.5734870317%;
  left: 80.0634920635%;
}
.facility-sec__img .pin.--06 {
  top: 56.3573487032%;
  left: 14.3968253968%;
}
.facility-sec__img .pin.--07 {
  top: 58.1498559078%;
  left: 27.9126984127%;
}
.facility-sec__img .pin.--08 {
  top: 59.5850144092%;
  left: 49.2063492063%;
}
.facility-sec__img .pin.--09 {
  top: 60.3631123919%;
  left: 75.4761904762%;
}
.facility-sec__img .pin.--10 {
  top: 80.6455331412%;
  left: 9.5158730159%;
}
.facility-sec__img .pin.--11 {
  top: 73.7291066282%;
  left: 17.0634920635%;
}
.facility-sec__img .pin.--12 {
  top: 78.2824207493%;
  left: 18.8253968254%;
}
.facility-sec__img .pin.--13 {
  top: 69.5734870317%;
  left: 32.7063492063%;
}
.facility-sec__img .pin.--14 {
  top: 77.5965417867%;
  left: 32.9126984127%;
}
.facility-sec__img .pin.--15 {
  top: 88.3573487032%;
  left: 51.7380952381%;
}
.facility-sec__img .pin.--16 {
  top: 84.7319884726%;
  left: 67.380952381%;
}
.facility-sec__img .pin.--17 {
  top: 91.0374639769%;
  left: 64.6825396825%;
}
.facility-sec__img .pin.--18 {
  top: 87.1181556196%;
  left: 82.9206349206%;
}

.facility-area__head {
  background: url(../img/top/facility_bg01.png) no-repeat;
  background-size: cover;
  background-position: center;
  height: 47em;
  color: #FFF;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.facility-area__head__inner {
  max-width: 1320px;
  width: 80%;
  padding: 0 0 0 20px;
  margin: 5% auto 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
@media screen and (max-width: 768px) {
  .facility-area__head__inner {
    width: 100%;
  }
}
.facility-area__head__num {
  width: 7.25em;
  padding-top: 0.75em;
}
@media screen and (max-width: 768px) {
  .facility-area__head__num {
    width: 6.0416666667em;
  }
}
.facility-area__head__num img {
  width: auto;
  height: 6.75em;
}
@media screen and (max-width: 768px) {
  .facility-area__head__num img {
    height: 4.1666666667em;
  }
}
.facility-area__head__read {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  margin-left: 4em;
}
@media screen and (max-width: 768px) {
  .facility-area__head__read {
    margin-left: 1.5em;
  }
}
.facility-area__head__ttl {
  font-size: 2.25em;
  font-weight: 900;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .facility-area__head__ttl {
    font-size: 1.9166666667em;
  }
}
.facility-area__head__txt {
  font-size: 1.125em;
  font-weight: 500;
  margin-top: 1.5em;
}
@media screen and (max-width: 768px) {
  .facility-area__head__txt {
    margin-left: -6.5em;
  }
}
.facility-area__ul {
  max-width: 1320px;
  width: 80%;
  margin: -9vw auto 0;
  padding: 0 20px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .facility-area__ul {
    width: 100%;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: -30vw;
  }
}
.facility-area__ul li {
  width: 48%;
  margin-left: 2%;
}
.facility-area__ul li:first-child {
  margin-left: 0;
}
@media screen and (max-width: 768px) {
  .facility-area__ul li {
    width: 80%;
    margin: 0 auto 2em;
  }
  .facility-area__ul li:first-child {
    margin-left: auto;
  }
}

.option-sec {
  background-image: url(../img/top/option_bg_txt.svg), url(../img/top/option_bg.png);
  background-repeat: no-repeat, no-repeat;
  background-size: 99% auto, cover;
  background-position: top 8vw center, top center;
  padding: 15vw 20px calc(10em + 14vw);
  margin-top: 10vw;
  margin-bottom: -14vw;
}
@media screen and (max-width: 768px) {
  .option-sec {
    padding-top: 30vw;
    padding-bottom: calc(15em + 80vw);
    margin-bottom: -90vw;
    background-position: top 20vw center, top center;
  }
}
.option-sec__ttl {
  max-width: 1144px;
  width: 60.8510638298%;
  margin: 0 auto 8em;
}
@media screen and (max-width: 768px) {
  .option-sec__ttl {
    width: 80%;
    margin-bottom: 3em;
  }
}
.option-sec__area {
  max-width: 1280px;
  width: 68.085106383%;
  margin: 0 auto 3em;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 768px) {
  .option-sec__area {
    width: 90%;
    display: block;
  }
}
.option-sec__area figure {
  width: 39.0625%;
}
@media screen and (max-width: 768px) {
  .option-sec__area figure {
    width: 100%;
  }
}
.option-sec__area__cont {
  width: 57.03125%;
  margin-left: 3.90625%;
}
@media screen and (max-width: 768px) {
  .option-sec__area__cont {
    width: 100%;
    margin-left: 0;
    margin-top: 2em;
  }
}
.option-sec__area__en {
  color: #FFF;
  font-size: 2em;
  font-weight: 600;
}
@media screen and (max-width: 768px) {
  .option-sec__area__en {
    font-size: 1.375em;
  }
}
.option-sec__area__name {
  font-size: 2.375em;
  font-weight: 900;
}
@media screen and (max-width: 768px) {
  .option-sec__area__name {
    font-size: 1.5416666667em;
  }
}

.security-area {
  max-width: 1280px;
  width: 68.085106383%;
  margin: 0 auto 3em;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 768px) {
  .security-area {
    width: 90%;
    display: block;
  }
}
.security-area figure {
  width: 46.875%;
}
@media screen and (max-width: 768px) {
  .security-area figure {
    width: 100%;
  }
}
.security-area__cont {
  width: 46.875%;
  margin-left: 6.25%;
}
@media screen and (max-width: 768px) {
  .security-area__cont {
    width: 100%;
    margin-left: 0;
    margin-top: 2em;
  }
}
.security-area__name {
  font-size: 2.375em;
  font-weight: 900;
  margin-bottom: 0.5em;
}
@media screen and (max-width: 768px) {
  .security-area__name {
    font-size: 1.5416666667em;
  }
}
.security-area__txt {
  font-size: 1.125em;
  font-weight: 600;
  line-height: 2;
}
.security-area.--re figure {
  -webkit-box-ordinal-group: 3;
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2;
}
.security-area.--re .security-area__cont {
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1;
}
@media screen and (min-width: 769px) {
  .security-area.--re .security-area__cont {
    margin-left: 0;
    margin-right: 6.25%;
  }
}

.price-area-cont {
  margin: 0 auto 1.75em;
  padding: 0 3.5em;
  max-width: 1280px;
  width: 80%;
  background: #FFF;
}
@media screen and (max-width: 768px) {
  .price-area-cont {
    width: 100%;
  }
}
.price-area-cont .price-area {
  padding: 1em 0;
  margin-bottom: 0;
  width: 100%;
}
.price-area-cont .price-area + .price-area {
  border-top: dotted 1px #000;
}
.price-area-cont figure {
  padding: 3.5em;
}
@media screen and (max-width: 768px) {
  .price-area-cont figure {
    padding: 0 0 3.5em;
  }
}

.price-area {
  background: #FFF;
  max-width: 1280px;
  width: 80%;
  margin: 0 auto 1em;
  font-size: 1.75em;
  font-weight: 900;
  padding: 1em 2em;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .price-area {
    font-size: 1.4583333333em;
    width: 100%;
  }
}
.price-area__ttl {
  float: left;
  clear: both;
}
.price-area__txt {
  float: right;
  margin-left: auto;
}
.price-area__txt span {
  color: #9DC938;
  font-size: 0.7142857143em;
  display: block;
}

.map-cont {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 600px;
}
@media screen and (max-width: 768px) {
  .map-cont {
    padding-top: 400px;
  }
}
.map-cont iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}