
.main-container {
  margin-top: 8rem;
}

.main_visual_wrap {
  width:100%;
  height: 803px;
  left: 0;
  top:0;
  z-index: 0;
}
.main_title_txt {
  padding:152px 0 250px;
  position: relative;
  text-align: center;
}

.main_title_main_txt {
  font-size:5.6rem;
  line-height: 1.2;
  color:#000;
  font-weight: 700;
  letter-spacing: -1px;
}

.main_title_main_txt + .main_title_main_txt {
  margin-bottom: 32px;
}

.main_title_sub_txt {
  font-size:4.5rem;
  line-height: 1.2;
  color:#000;
  font-weight: 500;
  margin-top: 10px;
}
.main_title_sub_txt2 {
  font-size:2.2rem;
  line-height: 1.18;
  color:#000;
  font-weight: 300;
  margin-top: 60px;
}

.main_visual_txt {
  position: relative;
  display: inline-block;
  font-size:120px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: -1px;
  margin-top:30px;
}
.main_visual_txt span {
    display: block;
    background: linear-gradient(
      90deg,
      #b07bf6,
      #6548fe,
      #5b42ff
    );
    background-size: 200% auto;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
.main_visual_txt::after {
    content: "TESSERA GRID";

    position: absolute;
    left: 0;
    top: 0;

    width: 100%;
    height: 100%;

    color: rgba(255,255,255,0.6);

    /* 가운데 좁은 부분만 보이도록 */
    -webkit-mask-image: linear-gradient(
        90deg,
        transparent 0%,
        transparent 45%,
        #000 50%,
        #000 51%,
        transparent 55%,
        transparent 100%
    );

    mask-image: linear-gradient(
        90deg,
        transparent 0%,
        transparent 45%,
        #000 50%,
        #000 51%,
        transparent 55%,
        transparent 100%
    );

    -webkit-mask-size: 250% 100%;
    mask-size: 250% 100%;

    -webkit-mask-position: -150% 0;
    mask-position: -150% 0;

    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;

    animation: textShine 5s ease-in-out infinite;

    pointer-events: none;
}


@keyframes textShine {
    0% {
        -webkit-mask-position: 150% 0;
        mask-position: 150% 0;
    }

    60% {
        -webkit-mask-position: 150% 0;
        mask-position: 150% 0;
    }

    100% {
        -webkit-mask-position: -150% 0;
        mask-position: -150% 0;
    }
}
.particles {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.particles span {
    position: absolute;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    animation: particleMove 5s ease-in-out infinite;
}

.particles span:nth-child(1) {
    left: 10%;
    top: 78%;
    animation-delay: 0s;
    background: #fff;
    box-shadow: 0 0 12px 3px #abb5fb;
}

.particles span:nth-child(2) {
    left: 22%;
    top: 85%;
    animation-delay: 1s;
    background: #fff;
    box-shadow: 0 0 12px 3px #abb5fb;
}

.particles span:nth-child(3) {
    left: 37%;
    top: 70%;
    animation-delay: 2s;
    background: #fff;
    box-shadow: 0 0 12px 3px #abb5fb;
}
.particles span:nth-child(4) {
    right: 13%;
    top: 72%;
    animation-delay: 0s;
    background: #fff;
    box-shadow: 0 0 12px 3px #6ee7ff;
}

.particles span:nth-child(5) {
    right: 31%;
    top: 84%;
    animation-delay: 2s;
    background: #fff;
    box-shadow: 0 0 12px 3px #abb5fb;
    
}
.particles span:nth-child(6) {
    right: 42%;
    top: 75%;
    animation-delay: 1.5s;
    background: #fff;
    box-shadow: 0 0 12px 3px #6ee7ff;
}

@keyframes particleMove {
    0%, 100% {
        opacity: .2;
        transform: translate(0, 0);
    }

    50% {
        opacity: 1;
        transform: translate(5px, -15px);
    }
}

.shell_txt {
  position: relative;
  z-index: 2;
  /*
  max-height: 104px;
  font-size: 104px;
  font-weight: 800;
  letter-spacing: -6px;
  */
  /*transition: all 1.2s ease-in-out;*/
}
.shell_txt img {width:100%; max-width: 940px;}

.bg_txt {
  position: absolute;
  left:0; right:0; top:2px; bottom:2px;
  z-index: 0;
  max-height: 104px;
  background-color: #000;
  animation: c-chainge 3s ease 1s forwards;
}
@keyframes c-chainge {
  0% {background-color: #000;}
  50% {background-color: linear-gradient(108deg, #000000 0%,#000000 100%);;}
  100% {background: linear-gradient(108deg, #476afd 0%,#476afd 42%,#6558ec 76%,#8b43d8 100%);}
}
.shell_txt.gradient {
  color: transparent;
  background: linear-gradient(-18deg, #476afd 0%,#476afd 42%,#6558ec 76%,#8b43d8 100%);
  /*
  -webkit-background-clip: text;
  background-clip: text;
  */
}
.shine_txt{
  content: "";
  position: absolute;
  top: -50px;
  left: 0;
  width: 140%;
  height: 500%;
  pointer-events: none;
  transform: translateX(-150%) rotate(25deg);
  opacity: 0;
  /* 흰빛 그라데이션(중앙이 밝음) */
  background: linear-gradient(90deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,0.1) 20%,
    rgba(255,255,255,0.95) 45%,
    rgba(255,255,255,0.25) 60%,
    rgba(255,255,255,0.1) 80%,
    rgba(255,255,255,0) 100%);
  /* 3초 주기로 한 번 반짝이도록 설정 */
  animation: shine 5s ease infinite;
  mix-blend-mode: screen;
  z-index: 1;
}
@keyframes shine {
  0%   { transform: translateX(-150%) rotate(25deg); opacity: 1; }
  80%   { transform: translateX(-150%) rotate(25deg); opacity: 1; }
  /*
  70%  { transform: translateX(-150%) rotate(25deg); opacity: 0; }
  72%  { transform: translateX(-80%) rotate(25deg); opacity: 0.6; }
  75%  { transform: translateX(-20%)  rotate(25deg); opacity: 1; }
  78%  { transform: translateX(40%)   rotate(25deg); opacity: 0.6; }
  80%  { transform: translateX(120%)  rotate(25deg); opacity: 0; }
  */
  100% { transform: translateX(120%)  rotate(25deg); opacity: 1; }
}

/* 반짝일 때 추가적인 미세 글로우 효과 (선택사항) */
.logo.spark-glow {
  text-shadow:
    0 0 8px rgba(255,255,255,0.08),
    0 0 18px rgba(139,67,216,0.06);
  transition: text-shadow 240ms ease;
}

.main-slide-wrap {
  width: 100%;
  padding-bottom: 8.0rem;
  /*height: calc(100vh - 8rem);*/
  /*margin-top: 8rem;*/
  /*height: 100vh;*/
  /*background-color: #fff;*/
  
  /* display: flex; */
  /* align-items: flex-end; */
  background: url('../img/main/bg_main_visual_wrap.png') no-repeat center / cover; 
}

.main-slide-wrap .mainSwiper {
  height: 100%;
  /*background-color: #fff;*/
  padding-top: 8rem;
}

.main-slide-wrap .mainSwiper .swiper-slide {
  /*
  display: flex;
  align-items: center;
  */
  height: 480px;
  padding:60px 92px 60px 52px;
  border-radius: 40px;
  word-break: keep-all;
}

.main-slide-wrap .mainSwiper .main-bg01 {
  background: url('../img/main/main_slide01.png?v=1') no-repeat center center / cover;
}
.main-slide-wrap .mainSwiper .main-bg02 {
  background: url('../img/main/main_slide02.png?v=1') no-repeat center center / cover;
}
.main-slide-wrap .mainSwiper .main-bg03 {
  background: url('../img/main/main_slide03.png?v=1') no-repeat center center / cover;
}

.main-slide-wrap .swiper-pagination {
  position: absolute;
  left: 52px;
  bottom:46px;
  text-align: left;
}
.main-slide-wrap .swiper-pagination-bullet {
  width: 10px;
  height: 16px;
  text-align: center;
  line-height: 16px;
  font-size: 14px;
  color: #ffffff;
  font-weight: 600;
  opacity: 0.35;
  margin: 0 6px;
  border-radius: 0;
  background-color: transparent;
}

.main-slide-wrap .swiper-pagination-bullet-active {
  color: #ffffff;
  opacity: 1;
}

.main-slide-title {
  color:#fff;
  font-weight: 500;
  padding-bottom: 3.4rem;
}

.main-slide-title .big-tit {
  font-size:4.5rem;
  line-height: 1.3
}
 
.main-slide-title .sub-small-tit {
  font-size:2.2rem;
  line-height: 3.4rem;
  margin: 3.6rem 0 4.4rem;
  font-weight: 500;
  word-break: keep-all;
}

.flex-left-wrap {width:15%}
.flex-right-wrap {width: 85%;}

.main_blue_small_tit {
  font-family: "Poppins", sans-serif;
  font-size:1.9rem;
  line-height: 2.7rem;
  font-weight: 600;
  color:#4769FD;
}

/* s:: section01-container */
.section01-container {
  background-color: #000000;
  color:#fff;
  text-align: center;
  padding:148px 0 145px;
}

.section01-container .flex-container {flex-direction: column;}
.section01-container .sub-mid-tit { margin-bottom: 2.4rem;}
.section01-container .info-mid-tit {
  margin: 6.3rem 0 5.1rem;
}

.section01-container .txt-area {
  margin-bottom: 120px;
  
}

.graph_wrap {
  position: relative;
  display: flex;
  flex-wrap: nowrap;
  width:100%;
}
.section01-container .mobile_title {display: none;}
.left_graph_img .mobile_icon {display: none;}

.left_graph_img {
  width:50%;
  position: relative;
  z-index: 1;
  text-align: left;
  padding-left:50px;
}
.right_graph_txt {
  width:50%;
  position: relative;
  text-align: left;
  display: flex;
}
.right_graph_txt ul {
  display: flex;
  flex-direction: column;
  justify-content: space-evenly;
}
.right_graph_txt ul li:before{
  content:attr(data-label);
  background: url(/img/main/bar-dot.svg)no-repeat right 44px top 15px;
  color:#94ffe5;
  display: block;
  position: absolute;
  z-index: 0;
  right:100%;
  width:314px;
  height: 22px;
  text-align: right;
  padding-right:14px;
}
.right_graph_txt ul li {
  position: relative;
  font-size:25px;
}
.right_graph_txt ul li h4 {
  color:#94ffe5;
}

.right_graph_txt ul li p {
  color:#fff;
  font-size:20px;
}


/* e:: section01-container */

/* s:: section02-container */
.section02-container {
  background-color: #5b42ff;
  color:#fff;
  text-align: center;
  padding:127px 0 225px;
}

.section02-container .main-mid-tit{
  margin: 2.4rem 0 13.8rem;
  position: relative;
  display: inline-block;
}

.section02-container .info-mid-tit{
  margin-bottom: 9.6rem;
}

/* 원형 라운드 */
.circle-container {
  position: relative;
  width: min(90vw, 1040px);
  height: min(90vw, 1040px);
  margin: 0 auto;
}

:root{
    --big-diameter1: clamp(204px, 40vw, 447px);   /* 작은 원 지름 */
    --big-diameter2: clamp(300px, 60vw, 657px);   /* 큰 원 지름 */
    --small-diameter1: 13px;
    --small-diameter2: 24px;
    --big-radius1: calc(var(--big-diameter1) / 2);
    --big-radius2: calc(var(--big-diameter2) / 2);
    /* 작은 원의 중심이 가야할 반지름: 큰 반지름 - (작은 지름 / 2) */
    --orbit-radius1: calc(var(--big-radius1) );
    --orbit-radius2: calc(var(--big-radius2) );
  }

.circle-container-bg-w {
  position: absolute;
  left:50%;
  top:50%;
  transform: translate(-50%, -50%);
  width:var(--big-diameter1);
  height:var(--big-diameter1);
  border-radius: 50%;
  border:1px dashed #476AFD;  
  display: grid;
  place-items: center;
}
.circle-container-bg-b {
  position: absolute;
  left:50%;
  top:50%;
  transform: translate(-50%, -50%);
  width:var(--big-diameter2);
  height: var(--big-diameter2);
  border-radius: 50%;
  border:1px solid #fff;
}
.ring-w {
  position:absolute;
  inset:0;                 /* 부모 전체를 덮음 */
  display:block;
  transform-origin: center center;
  animation: spin linear infinite;
  animation-duration: 4s;
}
@keyframes spin {
  to { transform: rotate(360deg); }
}
.ring-b {
  position:absolute;
  inset:0;                 /* 부모 전체를 덮음 */
  display:block;
  transform-origin: center center;
  animation: spin2 linear infinite;
  animation-duration: 4s;
}
@keyframes spin2 {
  to { transform: rotate(-360deg); }
}
.ring-w:before {
  content:"";
  display: block;
  position: absolute;
  left:50%;
  top:50%;
  width:var(--small-diameter1);
  height: var(--small-diameter1);
  border-radius: 50%;
  background-color: #fff;
  transform: translate(-50%, -50%) translateX(var(--orbit-radius1));
  
}
.ring-b:before {
  content:"";
  display: block;
  position: absolute;
  left:50%;
  top:50%;
  width:var(--small-diameter2);
  height: var(--small-diameter2);
  border-radius: 50%;
  background-color: #476AFD;
  transform: translate(-50%, -50%) translateX(var(--orbit-radius2));
}
/* 중앙 파란 원 */
.center-circle {
  position: absolute;
  top: 50%;
  left: 50%;
  padding-top: 2%;
  transform: translate(-50%, -50%);
  background-color: #4769FD;
  color: #fff;
  font-weight: 500;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  width: clamp(161px, 26%, 270px);
  height: clamp(161px, 26%, 270px);
  font-size: clamp(18px, 2.5vw, 28px);
  text-align: center;
  animation: big-small 3s infinite;
}
@keyframes big-small {
  0% {
      transform: translate(-50%, -50%) scale(1);
  }
  50% {
      transform: translate(-50%, -50%) scale(0.9);
  }
  100% {
      transform: translate(-50%, -50%) scale(1);
  }
}
.center-circle span {
  font-size:1.2em;
  font-weight: 600;
}

/* 하얀 원 */
.white-circle {
  position: absolute;
  top: 50%;
  left: 50%;
  width: clamp(126px, 56%, 500px);
  height: clamp(126px, 56%, 500px);
  background: #fff;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  opacity: 0;
  font-size: clamp(24px, 2.5vw, 36px);
  transform: translate(-50%, -50%) scale(0.5);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.white-circle img {width:60%; max-width: 100%;}

/* 글자가 회전하지 않게 */
.white-circle span {
  transform: rotate(0deg);
  color: #2E3545;
  font-weight: 500;
}

/* 등장 애니메이션 */
.white-circle.show {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}
/* e::원형 라운드 */


/* bar 움직임 */
.move-letter {
  display: inline-block;
  transition: transform 0.8s ease;
}
.move-bar {
  position: absolute;
  top: 25%;
  left: 50%;
  width: 0;
  height: 7px;
  background: #fff;
  transform: translate(-50%, -50%);
  opacity: 0;
  transition: width 0.8s ease, opacity 0.8s ease;
}
/* 활성화 된 상태 스타일 */
.active .move-letter.left {
  transform: translateX(-90px);
}
.active .move-letter.right {
  transform: translateX(90px);
}
.active .move-bar {
  width: 166px;
  opacity: 1;
}
/* e::bar 움직임 */


.solution_img {
  width:640px;
  background: url(../img/main/banner_image_01.png) no-repeat center center / cover;
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  margin-bottom: 1.5rem;
  border-radius: 30px;
  padding:60px;
  position: relative;
  overflow: hidden;
  flex-direction: column;
}
.solution_img:before {
  content: "";
  display: block;
  position: absolute;
  height: 100%;
  width: 100%;
  padding-bottom: 0;
  left: 0;
  top: 0;
  z-index: 0;
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0) 37%);

}
.solution_img_txt {
  font-size: 3.5rem;
  line-height: 1.5;
  font-weight: 500;
  color:#000;
  text-align: left;
  position: relative;
  width: 100%;
  margin-bottom: 2.0rem;
}

.solution_list {
  width:calc(100% - 660px);
  margin-left: 2.0rem;
}

.solution_list li {
  background-color: #fff;
  border-radius: 3.0rem;
  padding:4.2rem;
  text-align: left;
  margin-bottom: 2.0rem;
}

.solution_list li:nth-child(1) {background: #fff url(/img/main/solution_banner_bg01.png?v=1) no-repeat right bottom;}
.solution_list li:nth-child(2) {background: #fff url(/img/main/solution_banner_bg02.png?v=1) no-repeat right bottom;}
.solution_list li:nth-child(3) {background: #fff url(/img/main/solution_banner_bg03.png?v=1) no-repeat right bottom;}

.solution_list li p:nth-child(1) {
  /*font-family: "Poppins", sans-serif;*/
  font-size:1.5rem;
  line-height: 1.5;
  font-weight: 600;
  letter-spacing: 1px;
  color:#4769FD;
}
.solution_list li p:nth-child(2) {
  font-size:3.4rem;
  line-height: 1.2;
  letter-spacing: -0.6px;
  font-weight: 500;
  color:#2E3545;
  margin: 0.2rem 0 2.8rem;
}
.solution_list li p:nth-child(3) {
  font-size:1.7rem;
  line-height: 1.47;
  color:#2E3545;
  margin-bottom: 3.0rem;
}
/*
.solution_list li:hover {
  background-color: #2E3545;
  cursor: pointer;
}
.solution_list li:hover p {
  color:#fff;
}
*/
.solution_list li:hover .round-go-btn {
  background-color: #5b42ff !important;
  color: #ffffff;
}
.solution_list li:hover .round-go-btn:after {
    background-image: url('../img/icon_arrow_b.png');
}
/* e:: section02-container */

/* s:: section03-container (number count) */
.section03-container {
  background : #000000 url(../img/main/bg_section03.png) no-repeat top center;
  color:#fff;
  text-align: center;
  padding-top: min(20vw, 136px);
  padding-bottom: min(20vw, 192px);
}
.section03-container .sub-mid-tit {
  margin-bottom: 7.0rem;
}
.section03-container .count-list {margin-top: 932px;}

.count-list ul {
  display: flex;
  justify-content: space-between;
}
.count-list li {
  position: relative;
  text-align: center;
  font-size:80px;
  line-height: 1.4;
}

.count-list li .count{
  /*font-family: "Poppins", sans-serif;*/
  font-weight: 600;
  display: inline-block;
}

.count-list li span{
  font-weight: 600;
}
.count-list li span:nth-child(3){
  font-size:33px;
}

.count-list li p{
  font-size:35px;
  font-weight: 400;
}

.count-list .txt-area p {margin-top: 68px; font-size:20px; color:#aa67ff; }

/* e:: section03-container (number count) */

/* s:: section04-container (qustion)*/
.section04-container {
  background:linear-gradient(to right bottom, #9affcd 0%, #74e1ff 100%);
  text-align: center;
  padding:106px 0 170px;
}
.section04-container .main-small-tit{
  margin-top: 5.1rem;
}
.section04-container .sub-mid-tit {
  font-weight: 500;
  margin: 5.6rem 0 8.9rem;
}
.answer_list ul {
  display: flex;
  justify-content: center;
}
.answer_list li {
  width:calc(25% - 34px);
  margin: 0 17px;
}
.answer_list li > div{
  width:100%;
  border-radius: 20px;
  color:#fff;
  text-align: center;
  padding: 20px;
  aspect-ratio: 12 / 15;
  box-shadow: 5px 5px 13px 5px rgba(0, 0, 0, 0.2);
  margin-bottom: 20px;
}

.answer_list li > div h4{
  font-size:25px;
  line-height: 1.3;
  font-weight: 400;
}

.answer_list li:nth-child(1) div {background: #000 url(/img/main/answer_banner_bg01.png) no-repeat center bottom / contain;}
.answer_list li:nth-child(2) div {background: #000 url(/img/main/answer_banner_bg02.png) no-repeat center bottom / contain;}
.answer_list li:nth-child(3) div {background: #000 url(/img/main/answer_banner_bg03.png) no-repeat center bottom / contain;}
.answer_list li:nth-child(4) div {background: #000 url(/img/main/answer_banner_bg04.png) no-repeat center bottom / contain;}

.answer_list li p {
  color:#000;
  font-size: 20px;
  line-height: 1.5;
  text-align: center;
}
/* e:: section04-container (qustion) */

/* s:: section05-container (mail form) */
.section05-container {
  background-color: #f2f2f2;
  color:#000;
  padding-top: min(15vh, 136px);
  padding-bottom: min(15vh, 160px);
  text-align: center;
}
.section05-container .flex-left-wrap {
  width:351px;
  word-break: keep-all;
}
.section05-container .txt-area .main-small-tit {
  margin: 2.9rem 0 6.3rem;
}
.mail-form-wrap {
  width:100%; 
  max-width: 1095px;
  margin: 0 auto;
}
.mail-form-wrap table {
  border-collapse:collapse;
  width:100%;
}
.mail-form-wrap table th {
  text-align: left;
  padding: 10px 0 10px 50px;
  width:160px;
  font-size: 20px;
  font-weight: 400;
}
.mail-form-wrap table td {
  padding:10px;
  text-align: left;
}
.mail-form-wrap table td .tel {
  width:120px;
}
.mail-form-wrap input {
  border:1px solid #C6C6C6;
}
.mail-form-wrap input[type="text"] {
  width: 100%;
  height: 56px;
  border-radius:8px;
  font-size:1.8rem;
  padding-left:10px;
}
.mail-form-wrap input::placeholder {
  color: #C6C6C6;
  font-size:1.8rem;
}
.mail-form-wrap select {
  width: 100%;
  height: 56px;
  border-radius:8px;
  padding-left:10px;
  border:1px solid #C6C6C6;
}

.mail-form-wrap textarea {
  width: 100%;
  height: 176px;
  border-radius:8px;
  padding-left:10px;
  border:1px solid #C6C6C6;
}

.btn_apply {
  width: calc(100% - 50px);
  max-width: 560px;
  margin-left: 50px;
  margin-top: 50px;
  font-size: 3.0rem;
  padding: 1.2rem 4.5rem;
  color: #fff;
  transition: all 0.3s;
  background-color: #5b42ff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 3.0rem;
  position: relative;
}
/* e:: section05-container (mail form) */

/* s:: section06-container */
.section06-container {
  background-color: #fff;
  position: relative;
  padding-top: min(20vw, 137px);
  padding-bottom: min(20vw, 180px);
}
.section06-container:after {
  content: "";
  display: block;
  position: absolute;
  width:100%;
  height: 50px;
  background-color: #F4F8FB;
  border-radius: 0 0 50px 50px;
  bottom:-50px;
}
/* e:: section06-container */


@media (max-width: 1400px) {
  .main-slide-title .big-tit {font-size: 4.0rem;}
  
  .solution_img_txt {font-size: 3.0rem; letter-spacing: -1px;}
  .solution_list li p:nth-child(2) { font-size: 3.0rem;}
  .solution_list li p:nth-child(3) { font-size: 1.6rem;}

  .section03-container { background-size: contain;}
  .section03-container .count-list { margin-top: 40vw;}
  
  .count-list ul {width: 90%; margin: 0 auto;}
  .count-list li {font-size: 70px;}
  .count-list li span:nth-child(3) {font-size: 28px;}
  .count-list li p {font-size: 26px;}
  .count-list .txt-area p {font-size: 18px;}
  
  .answer_list ul { width: 90%; margin: 0 auto;}
  .answer_list li p {font-size: 16px;}
}

@media (max-width: 1280px) {
  
  .main_title_txt {
    padding: 125px 0 112px;
    background-size: 50%;
  }
  
  .main_title_sub_txt {font-size: 38px;}
  
  .main-slide-wrap .mainSwiper .swiper-slide {
    height: 463px;
  }
  
  .main_object.object04 {
    right: -10%;
    top: -14%;
  }
  /*
  .main_object.object02 {
    left: 378px;
    top: 0;
  }
    */
  
  .circle-container-wrap .round-content {
    width: 100%;
  }
  
  .solution_img {width:50%; height: inherit; }
  .solution_img img {height: calc(100% - 15px); border-radius: 3.0rem; object-fit: cover;}
  .solution_list {width:calc(50% - 15px);}
  .solution_list li {
    padding: 3.2rem;
  }
  .solution_list li:nth-child(1),
  .solution_list li:nth-child(2),
  .solution_list li:nth-child(3){
      background-size: 80% auto;
  }
  .solution_list li p:nth-child(2) {
    font-size: 3.4rem;
    margin: 1.2rem 0 2.3rem;
  }
  .solution_list li p:nth-child(3) {
    font-size: 1.6rem;
    line-height: 2.4rem;
    margin-bottom: 2.8rem;
  }
  
  .process ul li:after {top: 64%;}
  .process ul li p:nth-child(2) {font-size: 20px;}
  .step_icon {
    width: 15rem;
    height: 15rem;
    background-size: 50%;
  }

  .btn_apply {font-size: 2.4rem;}
    
}

@media (max-width: 1200px) {
  .main_title_main_txt {font-size:4.6rem;}
  
  .graph_wrap {justify-content: space-between;}
  
  .left_graph_img {width: 38%;}
  .left_graph_img img {width: 100%; padding-left: 0;}
  
  .right_graph_txt { width: 56%;}
  .right_graph_txt ul li {font-size: 20px;}
  .right_graph_txt ul li:before {
    background-position: right 26px top 13px;
    width: 180px;
    padding-right: 5px;
  }
  .right_graph_txt ul li p { font-size: 16px;}
  .right_graph_txt ul li p br {display: none;}
  
  .answer_list li div {background-size: 80% !important;}
  .answer_list li > div h4 {font-size: 20px;}
}

@media (max-width: 1024px) {
  .main_visual_txt {font-size: 85px; margin-top: 15px;}

  .main_title_txt {padding: 100px 0 80px;}
  .main_title_main_txt {font-size: 3.4rem;}
  .main_title_sub_txt {font-size: 2.4rem; margin-top: 5px;}
  .main_title_sub_txt2 {font-size: 1.8rem;}
  .main-slide-title .big-tit {font-size: 40px;}
  .main-slide-title .sub-small-tit {font-size: 2.0rem;}
  
  .section01-container {padding: 90px 0 70px;}
  .section01-container .txt-area {margin-bottom: 60px;}
  .left_graph_img {padding-left: 0;}
  .right_graph_txt {margin-top: 40px;}
  
  .count-list li {font-size: 48px;}
  .count-list li p { font-size: 20px;}
  .step_icon {
    width: 168px;
    height: 168px;
    background-size: 37%;
  }
  
  .section02-container {padding: 90px 0 90px; }
  .solution_img {flex-wrap: wrap; padding: 42px;}
  
  .section03-container {
    padding-top: min(20vw, 90px);
    padding-bottom: min(20vw, 90px);
  }
  .section05-container .flex-left-wrap, 
  .flex-left-wrap{
    width: 40%;
  }
  .flex-right-wrap {
    width: 60%;
  }
  
  .section04-container {
    padding: 64px 0 93px;
  }
  .section05-container {padding: 90px 0 80px;}
  

  .mail-form-wrap table th {padding: 10px 0; width: auto; font-size:1.6rem;}
  .mail-form-wrap table td {padding: 10px 5px; font-size:1.4rem;}
  .mail-form-wrap table td .tel {width: 67px;}
  .mail-form-wrap input[type="text"] {height: 40px; font-size: 1.4rem;}
  .mail-form-wrap select {height: 40px;}
  .mail-form-wrap input::placeholder {font-size:1.4rem;}
  .btn_apply {width: 100%; margin-left: 0; margin-top: 20px; font-size: 18px;}
  .section06-container .txt-area{margin-bottom: 30px;}
  

}


@media (max-width: 768px) {
  
  .main_title_txt {background-size: 100%; padding: 120px 0 8px; margin-bottom: 56px;}
  .main_title_main_txt {font-size: 2.8rem;}  
  .main_visual_txt { margin-top: 10px; font-size: 62px;}
  .main_title_sub_txt {font-size: 2.0rem;}
  .main_title_sub_txt2 {font-size: 1.4rem; margin-top: 30px;}
  .shell_txt {text-align: center;}
  .shell_txt img {width:100%; max-width: 100%;}
  .main_object.object01 {
    width: 369px;
    height: 368px;
    left: -242px;
    top: 63px;
  }
  .main_object.object02 {
    width: 391px;
    height: 391px;
    left: 50%;
    margin-left: -190px;
    top: 102%;
  }
  .main_object.object03 {
    width: 303px;
    height: 406px;
    right: -214px;
    bottom: -157px;
  }
  .main_object.object04 {
    right: -10%;
    top: -30%;
  }
  .main-slide-wrap .mainSwiper .swiper-slide {
    padding: 42px 30px;
  }
  
  .main-slide-title .big-tit {
    font-size: 24px;
    letter-spacing: -0.5px;
  }
  
  .main-slide-title .sub-small-tit {
    font-size: 16px;
    line-height: 23px;
  }
  
  .section01-container .info-mid-tit {
    margin: 48px 0 5.0rem;
  }
  

  .section02-container .flex-container{
    flex-wrap: wrap;
  }
  .section02-container .main-mid-tit {
    margin: 2.4rem 0 7.8rem;
    font-size: 26px;
  }
    
  .solution_img {
    width:100%;
  }
  .solution_img:before {
    background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0) 100%);
  }
  
  .solution_img .round-go-btn-w { margin-top: 2.8rem;}
  
  .solution_list {
    width:100%;
    margin-left: 0;
  }
  .solution_list li p:nth-child(2) {font-size: 28px;}
  
  .section03-container .main-mid-tit {font-size: 28px;}
  .section03-container {background-position: center top; background-size: 130%;}
  .section03-container .count-list {margin-top: 58vw; }
  .count-list .txt-area p {font-size: 16px; margin-top: 60px;}
  .count-list .txt-area p br {display: none;}
  
  .process {
    margin-top: 110px;
  }
  .process .main_blue_small_tit {
    margin-bottom: 6px;
  }
  
  .section04-container {
    padding: 90px 0 90px;
  }
  
  .section04-container .main-small-tit {
    margin-top: 10px;
  }
  
  .section04-container .sub-mid-tit {
    margin: 42px 0 54px;
  }
  
  .btn_apply {padding: 0.9rem 4.5rem 1.0rem;}
  .section05-container {padding: 70px 0 80px; }
  .section05-container .txt-area .main-small-tit {margin-bottom: 4.0rem;}
  
  .answer_list ul {flex-wrap: wrap; width: 100%;}
  .answer_list li {width: calc(50% - 20px);  margin: 15px 10px;}
  .answer_list li div {
    background-size: 80% !important;
    background-position: center bottom !important;
  }
  .answer_list li > div h4 {
    font-size: 20px;
  }
  .answer_list li p {
    font-size: 14px;
  }
  .section05-container .flex-left-wrap, 
  .flex-left-wrap{
    width: 100%;
  }
  .flex-right-wrap {
    width: 100%;
  }
}

@media (max-width: 680px) {
  .section01-container .mobile_title {
    display: block;
    font-size: 20px;
    color: #000;
    background-color: #fff;
    padding: 3px 20px;
    border-radius: 30px;
  }
  
  .left_graph_img {display: none;}
  .right_graph_txt {width: 100%;}
  .right_graph_txt ul li {padding-left:135px; font-size:1.8rem;}
  .right_graph_txt ul li:before {left: 0; right:auto; width: 135px;}
  .right_graph_txt ul li:after {
    content: "";
    background-position: center center;
    background-size: 50%;
    background-repeat: no-repeat;
    color: #fff;
    display: block;
    position: absolute;
    z-index: 0;
    left: 0;
    width: 80px;
    height: 100%;
    top:0;
  }
  .right_graph_txt ul li:nth-child(1):after {background-color: #47c7ff; background-image: url(/img/main/icon_right_graph_01.svg);}
  .right_graph_txt ul li:nth-child(2):after {background-color: #2fa2ff; background-image: url(/img/main/icon_right_graph_02.svg);}
  .right_graph_txt ul li:nth-child(3):after {background-color: #007bff; background-image: url(/img/main/icon_right_graph_03.svg);}
  .right_graph_txt ul li:nth-child(4):after {background-color: #5b42ff; background-image: url(/img/main/icon_right_graph_04.svg);}
  .right_graph_txt ul li p {font-size: 14px; margin-bottom: 20px;}
}

@media (max-width: 650px) {
  .main_title_main_txt {font-size: 22px;}
  .main_visual_txt {font-size: 44px;}
  
  .section03-container .count-list {margin-top: 74vw;}
  
  .count-list ul {flex-wrap: wrap;}
  .count-list li {width:100%; margin-bottom: 30px;}
  .count-list li p {font-size: 14px;}
  .count-list .txt-area p {font-size: 14px;  margin-top: 40px;}
  
  .process ul li {
    width:50%;
    padding-left: 0;
  }
  .process ul li p:first-child {
    font-size: 14px;
  }
  .process ul li p:nth-child(2) {
    font-size: 16px;
  }
  .process ul li:after {
    background:none;
  }
  .process ul li:after {
    left: -12px;
    top: 146%;
    background-size: 50%;
  }
  .step_icon {
    width: 100px;
    height: 100px;
    margin: 15px auto 0;
  }
  
  .solution_img {
    padding: 41px 32px;
  }
  .solution_img_txt {
    font-size: 24px;
    color:#fff;
  }

  .solution_list {
    width:100%;
    margin-left: 0;
  }
  .solution_list li p:nth-child(1) {font-size: 1.4rem;}
  .solution_list li p:nth-child(2) {margin: 5px 0 16px; font-size: 24px;}
  .solution_list li p:nth-child(3) {font-size: 1.4rem;}
  
  .qustion_img_wrap {
    margin: 48px 0 36px;
  }
  .qustion_img {
    margin: 0;
    padding-bottom: 30px;
    background-position: 42% bottom;
  }
  
  .section03-container {background-position: center 110px;}
  .section03-container .main-mid-tit {font-size: 24px;}
    
  .section05-container .flex-left-wrap, .flex-left-wrap {text-align: center;}
  .company-info h4 {
    font-size: 2.0rem;
    line-height: 2.2rem;
  }
  .company-info > p {
    margin-bottom: 3.6rem;
    font-size: 1.6rem;
    line-height: 2.4rem;
  }
  
  .section06-container {padding: 73px 0 80px;}
  
  .mail-form-wrap table td {padding: 5px 5px;}
  
}

@media (max-width: 600px) {
  .outer-circle {
    transform: rotate(calc(72deg * var(--i))) translateY(-160px) rotate(calc(-72deg * var(--i)));
  }
  .circle-container::before {
    width: 320px;
    height: 320px;
  }
}


@media (max-width: 400px) {

  .outer-circle {
    width: 35%;
    height: 35%;
    top: 33%;
    left: 32%;
    transform: rotate(calc(72deg * var(--i))) translateY(-120px) rotate(calc(-72deg * var(--i)));
  }
  .circle-container::before {
    width: 240px;
    height: 240px;
  }
}

