@charset "utf-8";
/* ======================
about_common
========================= */
.about_lead {
  padding-bottom: clamp(80px, 22.22vw, 146px);
}
.about_lead-top .lead__txt {
  font-size: clamp(16px, 3.33vw, 22px);
  line-height: 1.86;
  letter-spacing: 0.025em;
}
/* ======================
about
========================= */
.ilblk {
  display: inline-block;
}
.about_cont {
  position: relative;
  z-index: 2;
}

.circle01 {
  width: 41px;
  position: absolute;
  top: 11vw;
  left: 25vw;
  z-index: -1;
}
.circle02 {
  width: 47px;
  position: absolute;
  top: 6vw;
  right: 32vw;
  z-index: -1;
}
.circle03 {
  width: 91px;
  position: absolute;
  top: 5vw;
  right: 23vw;
  z-index: 1;
}
.circle04 {
  width: 142px;
  position: absolute;
  top: 29vw;
  left: 20vw;
  z-index: 1;
}
.circle05 {
  width: 79px;
  position: absolute;
  top: 36vw;
  left: 30vw;
  z-index: -1;
}
.circle06 {
  width: 62px;
  position: absolute;
  top: 29vw;
  right: 16vw;
  z-index: 1;
}
.about__inner {
  padding: 0 20px;
  width: 100%;
  max-width: 1477px;
  margin: 0 auto;
}
.about__head {
  padding-top: clamp(100px, 10.93vw, 210px);
  padding-bottom: clamp(70px, 8.593vw, 165px);
  position: relative;
}
.about__head .about_contTtl {
  margin-bottom: 33px;
  position: relative;
  z-index: 1;
}
.about__headDeco {
  position: absolute;
}
.about__headDeco.deco1 {
  /* width: 469px; */
  width: 24.42vw;
  top: 37%;
  left: 0;
}
.about__headDeco.deco2 {
  /* width: 491px; */
  width: 25.57vw;
  top: -78px;
  right: 0;
}
.about__headDeco.deco3 {
  /* width: 337px; */
  width: 17.55vw;
  bottom: 0;
  right: 265px;
  z-index: 1;
}
.about__headCont {
  width: 100%;
  max-width: 391px;
  margin: 0 auto 100px;
}
.about_contTtl {
  font-size: clamp(35px, 7.41vw, 50px);
  line-height: 1.46;
  font-weight: 900;
  text-align: left;
}
.about_contTtl.center {
  text-align: center;
}
.about__contText {
  font-size: clamp(16px, 2.08vw, 18px);
  line-height: 1.77;
  font-weight: 500;
}
.about__second {
  position: relative;
  padding-top: 300px;
}

/* scroll-infinity */
.scroll-infinity-about {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -80%);
}
.scroll-infinity-about .scroll-infinity__item {
  width: 103.13vw;
  min-width: 1386px;
}

/* about__second */
.about__secondBg {
  padding-top: 350px;
  padding-bottom: 350px;
  width: 100%;
  background-color: #fff6e6;
  position: relative;
}
.about__secondDeco {
  width: 100%;
  overflow: hidden;
  position: absolute;
  top: 0;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  left: 0;
}
.about__secondDeco .img {
  width: 105%;
  margin-left: -3%;
}
.about__secondCont {
  width: 100%;
  max-width: 1000px;
  padding: 0 20px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.about__secondCont--ttl {
  width: calc(100% - 451px);
}
.about__secondCont--text {
  margin-top: 10px;
  width: 50%;
  max-width: 441px;
}

/* about__third */
.about__thirdBg {
  position: relative;
}
.about__thirdDeco {
  position: absolute;
}
.about__thirdDeco1 {
  top: -280px;
  right: 0;
  width: 55%;
}
.about__thirdDeco2 {
  top: -25px;
  transform: translateY(-50%);
  left: 25%;
  width: 21.97vw;
}
.about__thirdDeco3 {
  bottom: -3%;
  left: 0;
  width: 14.58vw;
}
.about__thirdCont {
  margin-left: 0;
  padding-top: 190px;
  max-width: 450px;
  text-align: left;
}
.about__thirdCont--text {
  margin-top: 10px;
}

/* about__fourth */
.about__fourth {
  margin-bottom: 85px;
  position: relative;
}
.about__fourthBg {
  background: url(../imgs/common/page_head_bg.svg) right top / 1920px no-repeat;
  position: absolute;
  top: -85px;
  left: 0;
  width: 100%;
  height: 630px;
  z-index: -1;
}
.about__fourthCont {
  margin-left: 4%;
  margin-bottom: 20px;
  padding-top: 160px;
  display: flex;
  justify-content: space-between;
  align-items: start;
  gap: 20px;
}
.about__fourthDeco {
  max-width: 725px;
}
.about__fourthDeco .img.inv_mov,
.charm__wrapImg02 .img.inv_mov {
  transform: translateY(60px) scale(0.85);
}
.about__fourthDeco .img.inv_mov.mov,
.charm__wrapImg02 .img.inv_mov.mov {
  animation: fourthPoyonActive 0.8s cubic-bezier(0.34, 1.6, 0.64, 1) forwards;
}
@keyframes fourthPoyonActive {
  0% {
    transform: translateY(60px) scale(0.85);
    opacity: 0;
  }
  55% {
    transform: translateY(-14px) scale(1.08);
    opacity: 1;
  }
  75% {
    transform: translateY(6px) scale(0.97);
  }
  100% {
    transform: translateY(0) scale(1);
  }
}
.about__fourthText {
  margin-top: -10px;
  max-width: 400px;
}
.about__fourthCont--text {
  margin-top: 20px;
}
.about__fourthCont--text--bold {
  font-weight: 700;
}
/* service */
.service {
  padding-top: max(218px, 11.35vw);
}
.service::before {
  content: "";
  display: block;
  width: 100%;
  min-width: 801px;
  height: 47.19vw;
  min-height: 376px;
  background: url(../imgs/about/service_bg.png) no-repeat top center / 100%;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%);
  z-index: -1;
}

.service__imgbk {
  width: 100%;
  height: auto;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%);
  z-index: -1;
}

.service__headingbk {
  background: url(../imgs/index/service_txt_bg.jpg) no-repeat center/cover;
  padding: clamp(4px, 1.11vw, 7px);
  border-radius: 20px;
  width: 100%;
  max-width: 512px;
}
.service__headingbk-inner {
  border-radius: 19.5px;
  padding: 5% 6% 11% 8%;
}
.service_heading {
  gap: 0.8em;
  margin-bottom: max(16px, 0.4em);
  align-items: flex-start;
}
.service .sec_heading-txt {
  line-height: 1.78;
  margin-bottom: 1.5em;
}
.service .bk_btn {
  width: 100%;
}

/* charm */
.charm {
  position: relative;
}
.scroll-infinity-charm {
  position: absolute;
  top: 95px;
  left: 0;
  z-index: -1;
}
.scroll-infinity-charm .scroll-infinity__item {
  width: 103.13vw;
  min-width: 1386px;
}
.charm__wrap {
  margin-bottom: 75px;
  padding-top: 140px;
  display: flex;
  justify-content: space-between;
  align-items: start;
}
.charm__ttl {
  font-size: clamp(55px, 4.166vw, 80px);
  font-weight: 900;
  letter-spacing: 0.025em;
  line-height: 1.33;
}
.charm__wrapImg01 {
  width: 43.69vw;
  position: absolute;
  left: 0;
  top: 530px;
}
.charm__wrapImg02 {
  max-width: 18.33vw;
  position: absolute;
  left: 20%;
  bottom: 0;
}
.charm__wrapImg03 {
  max-width: 15.2vw;
  position: absolute;
  right: 0;
  bottom: 80px;
}
.charm__wrap--right {
  margin-top: 97px;
  max-width: 630px;
}
.charm__item:not(:last-child) {
  margin-bottom: 50px;
}
.charm__itemTtl {
  margin-bottom: 10px;
  /* font-size: 50px; */
  font-size: clamp(32px, 7.41vw, 50px);
  font-weight: 900;
  line-height: 1.28;
  letter-spacing: 0.03em;
  display: flex;
  justify-content: start;
  align-items: center;
}
.charm__itemNum {
  margin-right: 25px;
  font-weight: 700;
  width: 82px;
  height: 82px;
  display: inline-block;
  position: relative;
  top: 5px;
  padding: 0 27px;
}
.charm__itemNum1 {
  background: url(../imgs/about/charm_num1.svg) no-repeat center/contain;
}
.charm__itemNum2 {
  background: url(../imgs/about/charm_num2.svg) no-repeat center/contain;
}
.charm__itemNum3 {
  background: url(../imgs/about/charm_num3.svg) no-repeat center/contain;
}
.charm__text {
  font-size: clamp(16px, 2.08vw, 18px);
  line-height: 1.77;
}

@media screen and (max-width: 1795px) {
  .charm__wrapImg03 {
    display: none;
  }
}

@media screen and (max-width: 1750px) {
  .about__thirdDeco1 {
    width: 50%;
  }
  .about__thirdCont {
    margin-left: 140px;
  }
}
@media screen and (max-width: 1470px) {
  .circle02 {
    right: 44vw;
  }
  .circle03 {
    width: 50px;
  }
  .circle04 {
    width: 70px;
    top: 44vw;
    left: 10vw;
  }
  .circle05 {
    width: 40px;
    top: 34vw;
    left: 45vw;
  }
  .circle06 {
    width: 30px;
  }
}
@media screen and (max-width: 1310px) {
  .charm__wrapImg01 {
    width: 29.69vw;
  }
  .charm__wrapImg02 {
    left: 8%;
  }
}
@media screen and (max-width: 1100px) {
  .about__secondBg {
    padding-top: 200px;
  }
  .about__secondCont {
    display: block;
  }
  .about__secondCont--ttl {
    margin: 0 auto 20px;
    width: 100%;
    max-width: 700px;
  }
  .about__secondCont--text {
    margin: 0 auto;
    width: 100%;
    max-width: 700px;
  }
  .about__thirdBg {
    margin-bottom: 100px;
  }
  .about__thirdCont {
    max-width: none;
    padding-top: 232px;
  }
  .about__fourthCont {
    margin-left: 0;
  }
}

@media screen and (max-width: 1040px) {
  .charm {
    padding-bottom: 24vw;
    margin-bottom: 15vw;
  }
  .charm__wrap {
    flex-direction: column;
  }
  .charm__ttl {
    margin-bottom: 30px;
  }
  .charm__wrap--right {
    margin-top: 42px;
  }
  .charm__wrapImg01 {
    width: 100%;
    position: relative;
    top: auto;
    left: -6vw;
  }
  .charm__wrapImg02 {
    width: 63vw;
    max-width: none;
    margin: 0 auto;
    position: static;
  }
  .charm__wrap--right {
    max-width: none;
  }
}

@media screen and (max-width: 980px) {
  .circle01 {
    left: 10vw;
  }
  .circle06 {
    top: 38vw;
  }
  .about__headDeco.deco1 {
    left: -40px;
  }
  .about__headDeco.deco3 {
    bottom: 50px;
    right: 135px;
  }
}
@media screen and (max-width: 880px) {
  /* service */
  .service {
    padding-top: 298px;
  }
}
@media screen and (max-width: 750px) {
  img[src*="_sp"] {
    display: block;
  }
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
  .circle01 {
    width: 37px;
    right: auto;
    top: 100vw;
    left: -34px;
  }
  .circle02 {
    display: none;
  }
  .circle03 {
    width: 45px;
    top: 66%;
    left: 19vw;
  }
  .circle04 {
    width: 110px;
    top: 67vw;
    left: auto;
    right: -40px;
  }
  .circle05 {
    width: 75px;
    top: 59%;
    left: -40px;
  }
  .circle06 {
    width: 31px;
    top: 79%;
    left: 37vw;
  }
  .about__headCont {
    margin-bottom: 40px;
  }
  .about__headDeco {
    position: static;
  }
  .about__headDeco.deco1 {
    margin: 0 auto 40px;
    width: 100%;
    /* padding-left: 10%; */
  }
  .about__headDeco.deco2 {
    width: 57.62vw;
    max-width: 100%;
    margin-bottom: 10px;
    margin-left: auto;
    margin-right: 0;
  }
  .about__headDeco.deco3 {
    width: 47.05vw;
    max-width: 257px;
    margin-left: 0;
    margin-right: auto;
    margin-top: 5vw;
    position: relative;
    bottom: auto;
    right: auto;
  }

  .scroll-infinity-about {
    top: -113px;
  }

  .about__second {
    padding-top: 120px;
  }
  .about__secondBg {
    padding-top: 27vw;
    padding-bottom: 53vw;
  }
  .about__secondCont--ttl {
    margin: 0 auto 29px;
  }
  .about__thirdCont {
    padding-top: 13vw;
    margin-left: 0;
    display: flex;
    flex-direction: column-reverse;
  }
  .about__thirdCont--ttl {
    margin-bottom: 9vw;
  }
  .about__thirdDeco1 {
    width: 89.35vw;
    min-width: 530px;
    position: static;
    margin-top: -41vw;
    margin-left: auto;
    transform: translate(11vw, 0px);
  }
  .about__thirdDeco.about__thirdDeco2,
  .about__thirdDeco.about__thirdDeco3 {
    position: static;
    transform: none;
  }
  .about__thirdDeco2 {
    margin-top: 40px;
    /* margin-left: 20px; */
    width: 56.26vw;
  }
  .about__thirdDeco3 {
    display: none;
  }
  .about__fourth {
    margin-bottom: 0;
  }
  .about__fourthCont {
    display: block;
    padding-top: 0;
  }
  .about__fourthDeco {
    width: 100%;
    margin: 0 auto 20px;
  }
  .about__fourthDeco img {
    width: 120%;
    height: 100%;
  }
  .about__fourthDeco img {
    position: relative;
    left: -10%;
  }

  .about__fourthText {
    /* margin: 0 auto; */
    width: 100%;
    /* max-width: 400px; */
    max-width: none;
  }
  .charm__ttl {
    margin-bottom: 5vw;
    font-size: clamp(33px, 12.8vw, 52px);
  }
  .charm__wrapImg01 {
    min-width: 419px;
    left: -28vw;
  }
  .charm__wrap--right {
    margin-top: 7vw;
  }
  .charm__item:not(:last-child) {
    margin-bottom: 96px;
  }
  .charm__itemNum {
    width: 72px;
    height: 72px;
  }
}
@media screen and (max-width: 570px) {
  .charm__itemTtl {
    margin-bottom: 26px;
    flex-direction: column;
    align-items: flex-start;
    row-gap: 24px;
  }
}
@media screen and (max-width: 480px) {
  /* service */
  .service__list {
    justify-content: center;
  }
  .service__item {
    width: calc((100% - 10px) / 2);
    max-width: 160px;
  }
}
