.section-title {
  font-size: clamp(1.25rem, 1.1363636364rem + 0.404040404vw, 1.5rem);
  font-weight: bold;
  margin-bottom: 20px;
  opacity: 0;
  -webkit-transform: translateY(20px);
          transform: translateY(20px);
  -webkit-transition: 1s ease;
  transition: 1s ease;
}

.section-title.is-show {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.section-logo {
  opacity: 0;
  -webkit-transform: translateY(20px);
          transform: translateY(20px);
  -webkit-transition: 1s 0.5s;
  transition: 1s 0.5s;
}
.section-logo.is-show {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.fv {
  height: 913px;
  margin-bottom: 76px;
}
.fv__bgcolor {
  background-color: #4282b8;
  width: 727px;
  height: 727px;
  position: absolute;
  top: 0;
  right: 0;
  z-index: -1;
}
.fv__img {
  background-image: url(../img/first-view\ 1.svg);
  height: 873px;
  opacity: 0;
  -webkit-transition: 1s ease;
  transition: 1s ease;
}
.fv__img.is-show {
  opacity: 1;
}
.fv__box {
  position: absolute;
  top: 673px;
  left: 41%;
  opacity: 0;
  -webkit-transition: 1s ease;
  transition: 1s ease;
  -webkit-transform: translateY(20px);
          transform: translateY(20px);
}
.fv__box.is-show {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.fv__title {
  font-size: clamp(1.5rem, -1.5130168453rem + 6.1255742726vw, 4rem);
  padding: 14px;
  background-color: #fff;
  border-radius: 10px;
  text-align: center;
  display: inline-block;
  margin-bottom: 21px;
}
.fv__text {
  line-height: 2;
  font-size: clamp(0.75rem, 0.4486983155rem + 0.6125574273vw, 1rem);
}
.fv__scroll-down {
  position: absolute;
  left: 18px;
  bottom: 64px;
  font-size: 10px;
  color: #4282b8;
}
.fv__scroll-down::before {
  content: "";
  width: 1px;
  height: 112px;
  background-color: #4282B8;
  position: absolute;
  left: 20px;
  top: 20px;
}

.swiper {
  background-color: #f8f8f8;
  height: 486px;
}
.swiper .swiper-wrapper {
  padding: 63px 0;
}
.swiper .swiper-slide {
  width: 360px;
  height: 360px;
}
.swiper figure {
  width: 100%;
  height: 100%;
}
.swiper figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.about {
  position: relative;
  padding: 71px 0 85px;
  z-index: 1;
}
.about__logo {
  margin-bottom: 40px;
}
.about__img {
  position: absolute;
  left: 53.8%;
  top: -34px;
  z-index: 2;
  width: 161px;
  height: 213px;
}
.about__catchcopy {
  background-color: #f8f8f8;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  position: absolute;
  left: 69.4%;
  top: -232px;
  z-index: 2;
  letter-spacing: 0.5em;
  padding: 16px 40px;
  font-size: clamp(1.5rem, 1.0454545455rem + 1.6161616162vw, 2.5rem);
}
.about__catchcopy--color {
  color: #4282b8;
  margin-left: 20px;
}
.about__catchcopy--color span {
  color: #000;
}
.about__text {
  width: 429px;
  line-height: 1.8;
  margin-bottom: 40px;
}

.service {
  position: relative;
  padding: 49px 40px 207px 0;
  z-index: 1;
}
.service__logo {
  margin-bottom: 64px;
}
.service__bgcolor {
  background-color: #f8f8f8;
  position: absolute;
  z-index: -1;
  right: 0;
  top: 0;
  width: 86%;
  height: 96%;
  border-radius: 50px 0 0 50px;
}
.service__img {
  position: absolute;
  right: 15.3%;
  top: 5%;
  z-index: 10;
}
.service__house--img {
  position: relative;
}
.service__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  margin-bottom: 92px;
}
.service__item:last-child {
  margin-bottom: 0;
}
.service__item--text {
  margin-left: 56px;
}
.service__item:nth-child(even) {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: start;
}
.service__item:nth-child(even) .service__item--no {
  left: -34.6%;
}
.service__item:nth-child(even) .service__item--text {
  margin-right: 56px;
  margin-left: 0;
}
.service__item--no {
  font-family: "Kanit";
  font-weight: bold;
  font-size: clamp(3rem, -15.2142857143rem + 28.5714285714vw, 10.5rem);
  color: #b1c6dc;
  position: absolute;
  left: 95.9%;
  z-index: -1;
}
.service__item--title {
  background-color: #fff;
  font-size: 24px;
  padding: 10px 16px;
  display: inline-block;
  margin-bottom: 48px;
  position: relative;
}
.service__item--desc {
  line-height: 1.8;
  max-width: 430px;
  margin-bottom: 28px;
}

.news {
  padding-right: 40px;
  margin-bottom: 132px;
}
.news__inner .modal__btn:nth-last-child(2) {
  border-bottom: 1px solid #B1C6DC;
}
.news__logo {
  margin-bottom: 48px;
}
.news__category {
  font-size: 14px;
  color: #4282b8;
  border: 1px solid #4282b8;
  padding: 5px 16px;
  display: inline-block;
  margin-right: 16px;
  margin-bottom: 24px;
}
.news time {
  color: #4282b8;
  font-size: 14px;
}
.news__title {
  margin-top: 24px;
  line-height: 1.8;
  font-size: clamp(0.875rem, 0.5714285714rem + 0.4761904762vw, 1rem);
}
.news .modal {
  display: none;
}
.news .modal.is-open {
  display: block;
}
.news .modal__overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 60;
  background: rgba(0, 0, 0, 0.6);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.news .modal__overlay::after {
  content: "";
  width: 32px;
  height: 32px;
  background-image: url(../img/close-icon.svg);
  position: absolute;
  top: 55px;
  right: 16.8%;
  cursor: pointer;
}
.news .modal__container {
  background-color: #fff;
  padding: 16px 102px 24px;
  width: 59.7%;
  height: 87.8%;
  line-height: 1.8;
  overflow-y: auto;
  position: relative;
}
.news .modal__container--title {
  line-height: 1.8;
  font-size: clamp(1.125rem, 0.8571428571rem + 0.7142857143vw, 1.5rem);
  margin: 16px 0;
  font-weight: bold;
}
.news .modal__container--desc {
  line-height: 1.8;
  margin: 35px 0 61px;
  font-weight: 400;
}
.news .modal__container img {
  display: block;
  margin: 0 auto;
}
.news .modal__close {
  border-radius: 10px;
  border: 1px solid #000;
  padding: 21px 95px;
  display: block;
  margin: auto;
  z-index: 100;
  position: relative;
}
.news .modal__close:hover {
  background-color: #000;
  color: #fff;
}
.news .modal__close--img {
  width: 32px;
  height: 32px;
  position: absolute;
  top: 0;
  z-index: 10;
  color: #000;
}
.news .modal__btn {
  cursor: pointer;
  width: 100%;
  border-top: 1px solid #B1C6DC;
  padding: 32px 27px 32px 0;
  text-align: left;
  position: relative;
}
.news .modal__btn::after {
  content: "";
  width: 16px;
  height: 16px;
  background-image: url(../img/arrow-icon-right.jpg);
  position: absolute;
  right: 0;
  top: 50%;
}

/*.wrapper {
  width: 100%;
  height: 1300px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}*/
@media (max-width: 1020px) {
  .fv {
    height: auto;
    margin-bottom: 73px;
  }
  .fv__img {
    height: 70vh;
  }
  .fv__box {
    top: 453px;
    left: 20%;
  }
  .fv__text {
    line-height: 2;
    font-size: clamp(0.75rem, 0.4486983155rem + 0.6125574273vw, 1rem);
    background-color: #fff;
  }
  .about__inner {
    padding: 0 20px;
  }
  .about__img {
    left: 50%;
    width: 100px;
    height: 120px;
  }
  .about__catchcopy {
    left: 69.4%;
    top: -232px;
    letter-spacing: 0.5em;
    padding: 16px 20px;
  }
  .about__catchcopy--color {
    color: #4282b8;
    margin-left: 20px;
  }
  .about__catchcopy--color span {
    color: #000;
  }
  .about__text {
    width: 429px;
    line-height: 1.8;
    margin-bottom: 40px;
  }
  .service {
    padding: 20px 20px 176px;
  }
  .service__logo {
    margin-bottom: 24px;
  }
  .service__img {
    right: 20px;
    top: -48px;
    width: 60px;
    height: 96px;
  }
  .service__img img {
    width: 100%;
    height: 100%;
  }
  .service__bgcolor {
    right: 0;
    top: 0;
    width: 73.3%;
  }
  .service__house--img {
    width: 100%;
    height: auto;
    margin-bottom: 24px;
  }
  .service__house--img img {
    width: 100%;
    height: auto;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .service__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    position: relative;
    margin-bottom: 50px;
  }
  .service__item--text {
    margin-left: 0px;
    width: 100%;
  }
  .service__item:nth-child(even) {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: start;
  }
  .service__item:nth-child(even) .service__item--no {
    left: auto;
    right: 0;
  }
  .service__item:nth-child(even) .service__item--text {
    margin-right: 0;
    margin-left: 0;
  }
  .service__item--no {
    position: absolute;
    bottom: 0px;
    left: auto;
    right: 0;
    bottom: -70px;
    z-index: 10;
  }
  .service__item--title {
    background-color: #fff;
    font-size: 24px;
    padding: 10px 16px;
    display: inline-block;
    margin-bottom: 26px;
  }
  .service__item--desc {
    line-height: 1.8;
    max-width: 100%;
    margin-bottom: 28px;
  }
  .news {
    padding-right: 0;
    margin-bottom: 64px;
  }
  .news__inner {
    padding: 0 20px;
  }
  .news__title {
    margin-top: 16px;
  }
  .news .modal__container {
    padding: 20px;
    width: 90%;
    height: 88%;
  }
  .news .modal__overlay::after {
    top: 10px;
    right: 5%;
  }
  .news .modal__btn {
    padding: 16px 37px 16px 0;
    font-size: 14px;
  }
}
@media (max-width: 450px) {
  .fv {
    height: 589px;
  }
  .fv__img {
    background-image: url(../img/first-view-sp\ 1.svg);
    height: 100%;
    border-radius: 10px 0 0 10px;
  }
  .fv__box {
    top: 403px;
    left: 19px;
  }
  .fv__text {
    background-color: transparent;
  }
  .fv__scroll-down {
    left: 19px;
    bottom: 34px;
    font-size: 10px;
    color: #4282b8;
  }
  .fv__scroll-down::before {
    content: "";
    width: 1px;
    height: 52px;
    left: 22px;
    top: 20px;
  }
  .fv__scroll-down::before {
    content: "";
    width: 1px;
    height: 52px;
    background-color: #4282B8;
    position: absolute;
    left: 20px;
    top: 20px;
  }
  .swiper {
    height: 274px;
  }
  .swiper .swiper-wrapper {
    padding: 16px 0 58px;
  }
  .swiper .swiper-slide {
    width: 200px;
    height: 200px;
  }
  .about {
    padding: 126px 0 52px;
  }
  .about__img {
    left: 167px;
    top: -16px;
    width: 60px;
    height: 80px;
  }
  .about__logo {
    width: 100%;
  }
  .about__catchcopy {
    left: 236px;
    top: -158px;
    padding: 16px 24px;
    font-size: clamp(1.5rem, 1.0454545455rem + 1.6161616162vw, 2.5rem);
  }
  .about__catchcopy--color {
    color: #4282b8;
    margin-left: 20px;
  }
  .about__catchcopy--color span {
    color: #000;
  }
  .about__text {
    width: 100%;
    margin-bottom: 32px;
    font-size: 14px;
  }
}