.main_middle {
  width: 1400px;
  margin: 0 auto;
}

.main_padding {
  padding: 90px 0;
}

/* overall_menu */
.overall_menu {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  padding: 4vw;
  background-color: #bde7ff;
  background-image: linear-gradient(125deg, #ffe8f5, #bde7ff);
  z-index: 999;
  transform: translate3d(0, -100%, 0);
  transition: transform 300ms ease;
  overflow: hidden;
}

.overall_menu_active {
  transform: translate3d(0, 0, 0);
}

.overall_menu_btn {
  position: absolute;
  top: 28px;
  right: 3vw;
  width: 30px;
  height: 30px;
  transition: transform 500ms ease;
}

.overall_menu_btn:hover {
  transform: rotateZ(360deg);
}

.overall_menu_btn::before,
.overall_menu_btn::after {
  position: absolute;
  top: 14px;
  content: '';
  width: 30px;
  height: 2px;
  display: block;
  transform: rotateZ(45deg);
  transform-origin: center;
  background-color: #172344;
}

.overall_menu_btn::after {
  transform: rotateZ(-45deg);
}

.overall_menu_logo {
  width: 80px;
  display: block;
}

/* overall_nav */
.overall_nav {
  width: 100%;
  padding-top: 5vh;
}

.overall_nav .overall_nav_item {
  position: relative;
  height: 26px;
  margin: 3vh 0;
  text-align: center;
  transform: translateY(100px);
  opacity: 0;
}

.overall_nav .overall_nav_item:nth-of-type(1) {
  transition: transform 600ms ease, opacity 600ms ease;
}

.overall_nav .overall_nav_item:nth-of-type(2) {
  transition: transform 800ms ease, opacity 800ms ease;
}

.overall_nav .overall_nav_item:nth-of-type(3) {
  transition: transform 1000ms ease, opacity 1000ms ease;
}

.overall_nav .overall_nav_item:nth-of-type(4) {
  transition: transform 1200ms ease, opacity 1200ms ease;
}

.overall_nav .overall_nav_item:nth-of-type(5) {
  transition: transform 1400ms ease, opacity 1400ms ease;
}

.overall_nav .overall_nav_item:nth-of-type(6) {
  transition: transform 1600ms ease, opacity 1600ms ease;
}

.overall_nav .overall_nav_item:nth-of-type(7) {
  transition: transform 1800ms ease, opacity 1800ms ease;
}

.overall_menu_active .overall_nav .overall_nav_item {
  transform: translateY(0);
  opacity: 1;
}

.overall_nav .overall_nav_item::before {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 0;
  height: 4px;
  background-image: linear-gradient(90deg, #4585F5, rgba(0, 0, 0, 0));
  transition: width 300ms ease;
}

.overall_nav .overall_nav_item:hover::before {
  width: 110%;
}

.overall_nav .overall_nav_item .oni_wrapper {
  height: 100%;
  overflow: hidden;
}

.overall_nav .overall_nav_item .oni_wrapper a {
  display: block;
  font-size: 20px;
  line-height: 26px;
  color: #172344;
  transition: transform 300ms ease;
}

.overall_nav .overall_nav_item .oni_wrapper:hover a {
  transform: translateY(-26px);
}

.overall_nav .overall_nav_item .oni_wrapper a span {
  display: block;
  font-family: "Federo";
  font-size: 18px;
  line-height: 26px;
  color: #4585F5;
}

.overall_menu_base {
  position: absolute;
  bottom: 2vw;
  font-size: 16px;
  color: #757575;
}

/* right_float */
.right_float {
  position: fixed;
  right: 0;
  top: 60%;
  z-index: 99;
}

.right_float_item {
  position: relative;
  width: 60px;
  height: 60px;
  margin-bottom: 1px;
  background-color: #29CCB6;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

.right_float_item>img {
  width: 30px;
}

.right_float_item .qr_code {
  position: absolute;
  left: -200px;
  opacity: 0;
  visibility: hidden;
  transform: translateX(-20px);
  pointer-events: none;
  transition: opacity 300ms ease, visibility 300ms ease, transform 300ms ease;
}

.right_float_item:hover .qr_code {
  opacity: 1;
  visibility: visible;
  transform: translateX(0);
}

.right_float_back {
  opacity: 0;
  transition: opacity 300ms ease;
}

.right_float_back_show {
  opacity: 1;
}

/* header_roof */
.header_roof {
  position: fixed;
  width: 100%;
  height: 120px;
  padding: 0 3vw;
  z-index: 9;
  transition: height 300ms ease, background-color 300ms ease;
}

.header_roof .page_logo {
  width: 80px;
  display: block;
  transition: width 300ms ease;
}

.header_roof .head_roof_phone {
  flex: 1;
  margin-right: 50px;
  justify-content: flex-end;
}

.header_roof .head_roof_phone .hrp_left {
  text-align: right;
  color: #172344;
}

.header_roof .head_roof_phone .hrp_left span {
  font-size: 12px;
  line-height: 1;
  opacity: 0.3;
}

.header_roof .head_roof_phone .hrp_left h5 {
  font-size: 20px;
  font-family: "Neue";
  line-height: 1;
}

.header_roof .head_roof_phone .hrp_right {
  margin-left: 12px;
}

.header_roof .header_icon {
  align-items: flex-end;
  cursor: pointer;
  width: 40px;
  transition: width 300ms ease;
}

.header_roof .header_icon .header_icon_line1 {
  width: 40px;
  height: 2px;
  background-color: #333;
  transition: width 300ms ease;
  animation: iconLine1 1.1s linear infinite alternate;
}

@keyframes iconLine1 {
  100% {
    width: 20px;
  }
}

.header_roof .header_icon .header_icon_line2 {
  width: 30px;
  height: 2px;
  margin: 10px 0;
  background-color: #333;
  transition: width 300ms ease, margin 300ms ease;
}

.header_roof .header_icon .header_icon_line3 {
  width: 20px;
  height: 2px;
  background-color: #333;
  transition: width 300ms ease;
  animation: iconLine3 1.1s linear infinite alternate;
}

@keyframes iconLine3 {
  100% {
    width: 40px;
  }
}

/* header_roof_down */
.header_roof_down {
  height: 80px;
  background-color: rgba(255, 255, 255, 0.95);
  box-shadow: 0 0 30px rgba(0, 0, 0, 0.05);
}

.header_roof_down .page_logo {
  width: 60px;
}

.header_roof_down .header_icon {
  width: 30px;
}

.header_roof_down .header_icon .header_icon_line1 {
  width: 30px;
  animation: iconLine1-1 1s linear infinite alternate;
}

@keyframes iconLine1-1 {
  100% {
    width: 14px;
  }
}

.header_roof_down .header_icon .header_icon_line2 {
  width: 22px;
  margin: 8px 0;
}

.header_roof_down .header_icon .header_icon_line3 {
  width: 14px;
  animation: iconLine3-1 1s linear infinite alternate;
}

@keyframes iconLine3-1 {
  100% {
    width: 30px;
  }
}

/* index_pc_banner */
.index_pc_banner {
  position: relative;
  width: 100vw;
  height: 100vh;
  background-color: #ffebc0;
  background-image: linear-gradient(125deg, #ffe8f5, #ffebc0, #c1c5ff, #bde7ff);
  background-size: 200%;
  overflow: hidden;
  animation: bannerBg 5s linear infinite alternate;
}

@keyframes bannerBg {
  100% {
    background-position: 100%;
  }
}

.banner_star {
  width: 100vw;
  height: 100vh;
}

.index_pc_banner .banner_signal {
  position: absolute;
  top: 0;
  right: 0;
  width: 27vw;
  opacity: 0.2;
}

.index_pc_banner .banner_left_text {
  position: absolute;
  top: 50%;
  left: 8vw;
  transform: translateY(-50%);
  font-size: 14px;
  font-weight: lighter;
  writing-mode: vertical-lr;
  letter-spacing: 8px;
}

.index_pc_banner .banner_middle {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 60vw;
  text-align: center;
  transform: translate(-50%, -50%);
}

.index_pc_banner .banner_middle h1 {
  font-size: 6.25vw;
  line-height: 1.1;
  font-family: "Federo";
  color: #172344;
  text-transform: uppercase;
  letter-spacing: 3px;
  text-shadow: 5px 0 0 rgba(255, 255, 255, 0.6);
}

.index_pc_banner .banner_middle h1 span {
  display: block;
  font-size: 7.813vw;
  font-weight: bolder;
  color: #4585F5;
}

.index_pc_banner .banner_middle h2 {
  margin-bottom: 30px;
}

.index_pc_banner .banner_middle h2 a {
  font-size: 1vw;
  font-weight: lighter;
  vertical-align: middle;
  line-height: 3;
}

.index_pc_banner .banner_middle span {
  font-size: 1vw;
  font-weight: lighter;
  vertical-align: middle;
}

.index_pc_banner .banner_wavy {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 60vw;
  transform: translateX(-20%);
  animation: bannerWavy 20s linear infinite alternate;
}

@keyframes bannerWavy {
  100% {
    transform: translateX(0);
  }
}

.index_pc_banner .mouse_icon {
  position: absolute;
  bottom: 50px;
  left: 50%;
  width: 26px;
  height: 44px;
  border-radius: 13px;
  transform: translateX(-50%);
  border: 2px solid #172344;
  cursor: pointer;
  animation: mouseIconSport 1.5s linear infinite alternate;
}

.index_pc_banner .mouse_icon::before {
  content: '';
  position: absolute;
  top: 5px;
  left: 50%;
  transform: translateX(-50%);
  width: 2px;
  height: 10px;
  background-color: #172344;
}

@keyframes mouseIconSport {
  100% {
    transform: translate(-50%, 15px);
  }
}

/* index_more */
.index_more {
  position: relative;
  display: block;
  width: 200px;
  margin: 0 auto;
  height: 60px;
  line-height: 60px;
  border-radius: 30px;
  border-bottom-left-radius: 0;
  font-family: "Federo";
  font-size: 22px;
  text-align: center;
  color: #fff;
  z-index: 1;
  overflow: hidden;
  background-image: linear-gradient(-90deg, #29CCB6, #4585F5);
}

.index_more:hover {
  color: #fff;
}

.index_more::after {
  position: absolute;
  top: 0;
  left: 0;
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 30px;
  border-bottom-left-radius: 0;
  background-image: linear-gradient(90deg, #29CCB6, #4585F5);
  z-index: -1;
  opacity: 0;
  transition: opacity 300ms linear;
}

.index_more:hover::after {
  opacity: 1;
}

/* index_headline */
.index_headline {
  text-align: center;
}

.index_headline h2 {
  margin-bottom: 15px;
  font-size: 24px;
  line-height: 1;
  color: #888;
}

.index_headline h5 {
  font-size: 48px;
  font-family: "Federo";
  line-height: 1;
  color: #000;
  text-transform: uppercase;
}

.white_hl h2,
.white_hl h5 {
  color: #fff !important;
}

/* service_container */
.service_container {
  width: 100%;
  padding: 90px 0 70px;
  background-color: #4585F5;
}

.services_wrapper {
  margin-top: 70px;
}

.serve_item {
  position: relative;
  width: calc(50% - 10px);
  height: 250px;
  margin-bottom: 20px;
  padding: 0 80px;
  background-color: #fff;
  /* border-radius: 5px; */
  overflow: hidden;
  transition: box-shadow 300ms ease;
  background-repeat: no-repeat;
  background-position: calc(100% + 10px) -10px;
  background-size: 25%;
  transition: background-position 300ms ease;
}

.serve_item:nth-of-type(1) {
  background-image: url('../images/home/ser1.png');
}

.serve_item:nth-of-type(2) {
  background-image: url('../images/home/ser2.png');
}

.serve_item:nth-of-type(3) {
  background-image: url('../images/home/ser3.png');
}

.serve_item:nth-of-type(4) {
  background-image: url('../images/home/ser4.png');
}

.serve_item:hover {
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
  background-position: calc(100% + 20px) -20px;
}

.serve_item::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
  background-color: #29CCB6;
  transition: width 300ms ease, height 300ms ease;
}

.serve_item:hover::before {
  width: 50px;
  height: 50px;
}

.serve_item .serve_item_left {
  padding-right: 30px;
}

.serve_item .serve_item_left .serve_item_num {
  font-size: 30px;
  font-family: "Federo";
  color: #EDEDED;
  line-height: 1;
}

.serve_item .serve_item_left .serve_item_title {
  position: relative;
  z-index: 1;
  display: inline-block;
  margin: 20px 0;
  font-size: 24px;
  color: #000000;
  line-height: 1;
}

.serve_item .serve_item_left .serve_item_title::before {
  content: '';
  position: absolute;
  bottom: 0;
  width: 0;
  height: 6px;
  background-image: linear-gradient(90deg, #29CCB6, rgba(0, 0, 0, 0));
  transition: width 300ms ease;
  z-index: -1;
}

.serve_item:hover .serve_item_left .serve_item_title::before {
  width: 100%;
}

.serve_item .serve_item_left .serve_item_explain {
  position: relative;
  font-size: 14px;
  line-height: 1.6;
  color: #999;
  z-index: 1;
}

.serve_item .serve_item_right {
  position: relative;
  width: 125px;
  z-index: 1;
  transition: transform 300ms ease;
}

.serve_item:hover .serve_item_right {
  transform: rotateY(360deg);
}

.serve_item .serve_item_bottom {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 200%;
  font-size: 60px;
  font-family: "Federo";
  color: #F9F9F9;
  line-height: 0.8;
  text-transform: uppercase;
}

/* four_container */
.four_container {
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

.four_wrapper {
  height: 100%;
}

.four_wrapper .four_item {
  flex: 1;
}

.four_wrapper .four_item .four_main {
  align-items: flex-start;
  margin-bottom: 15px;
}

.four_wrapper .four_item:nth-of-type(2) .four_main,
.four_wrapper .four_item:nth-of-type(3) .four_main {
  align-items: flex-end;
}

.four_wrapper .four_item .four_main h2 {
  margin-right: 5px;
  font-size: 60px;
  font-family: "Neue";
  color: #000000;
  line-height: 0.8;
}

.four_wrapper .four_item .four_main span {
  font-size: 14px;
  line-height: 1;
}

.four_wrapper .four_item .four_profile {
  font-size: 16px;
  line-height: 1;
}

/* case_container */
.case_container {}

.case_catalog {
  margin: 30px 0 40px;
}

.case_catalog li {
  position: relative;
  margin: 0 25px;
}

.case_catalog li a {
  position: relative;
  font-size: 16px;
  font-weight: lighter;
  color: #848484;
  line-height: 1;
}

.case_catalog li:hover a {
  color: #000000;
}

.case_catalog li a::before {
  content: '';
  position: absolute;
  bottom: 0;
  width: 0;
  height: 6px;
  background-image: linear-gradient(90deg, #29CCB6, rgba(0, 0, 0, 0));
  transition: width 300ms ease;
  z-index: -1;
}

.case_catalog li:hover a::before {
  width: 100%;
}

.case_wrapper {
  margin-bottom: 30px;
}

.case_item {
  position: relative;
  width: calc(33.33% - 25px);
  aspect-ratio: 5 / 4;
  margin-bottom: 40px;
  /* border-radius: 5px; */
  overflow: hidden;
  transition: transform 300ms ease;
}

.case_item:hover {
  transform: translateY(-10px);
}

.case_item .case_item_img {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.case_item .case_item_img img {
  width: 100%;
  height: 100%;
}

.case_item .case_item_img:before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  border-style: solid;
  border-width: 0;
  border-color: rgba(0, 0, 0, 0.2) #fff;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.3), -1px 1px 1px rgba(0, 0, 0, 0.2);
  transition: all 300ms linear;
}

.case_item .case_item_img:hover:before {
  border-right-width: 80px;
  border-bottom-width: 80px;
}

.case_item .case_item_float {
  position: absolute;
  bottom: -30%;
  left: 0;
  width: 75%;
  height: 30%;
  padding-top: 35px;
  /* border-top-right-radius: 5px; */
  background-color: rgba(0, 0, 0, 0.8);
  transition: bottom 300ms ease;
}

.case_item:hover .case_item_float {
  bottom: 0;
}

.case_item .case_item_float .cif_left {
  width: 40px;
  height: 2px;
  margin-top: 5px;
  background-color: #049DEE;
}

.case_item .case_item_float .cif_right {
  margin-left: 20px;
}

.case_item .case_item_float .cif_right span {
  display: block;
  margin-bottom: 10px;
  font-size: 14px;
  font-family: "Federo";
  color: #BABABA;
  line-height: 1;
}

.case_item .case_item_float .cif_right h3 {
  font-size: 16px;
  color: #FFFFFF;
  line-height: 1;
}

/* news_container */
.news_container {
  background-color: #F8F8F8;
}

.news_wrapper {
  margin-top: 70px;
  margin-bottom: 70px;
}

.news_item {
  width: calc(33.33% - 50px);
  transition: transform 300ms ease;
}

.news_item:hover {
  transform: translateY(-10px);
}

.news_item .news_item_img {
  margin-bottom: 50px;
  aspect-ratio: 5 / 2;
  /* border-radius: 5px; */
  overflow: hidden;
}

.news_item .news_item_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.news_item .news_item_date {
  align-items: flex-end;
  transition: text-shadow 300ms ease;
}

.news_item .news_item_date p {
  margin-right: 5px;
  font-size: 48px;
  font-family: "Neue";
  color: #000000;
  line-height: 0.8;
}

.news_item .news_item_date span {
  font-size: 14px;
  font-family: "Neue";
  color: #8E8E8E;
  line-height: 1;
}

.news_item .news_item_title {
  margin: 30px 0;
  font-size: 18px;
  color: #414141;
  line-height: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  transition: text-shadow 300ms ease, color 300ms ease;
}

.news_item:hover .news_item_title {
  color: #4585F5;
}

.news_item .news_item_description {
  font-size: 14px;
  color: #8E8E8E;
  line-height: 1.8;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  overflow: hidden;
  transition: text-shadow 300ms ease;
}

/* foot_container */
.foot_container {
  padding: 50px 0;
  background-color: #121115;
}

.foot_wrapper {
  height: 100%;
  font-size: 14px;
  line-height: 1;
  color: #75747B;
  opacity: 0.5;
  text-align: center;
}

.foot_wrapper>img {
  width: 80px;
}

.foot_left {
  margin: 30px 0 15px;
}

.foot_right {
  color: #75747B;
}

/* inside_banner */
.inside_banner {
  position: relative;
  height: 500px;
  background-image: linear-gradient(125deg, rgba(255, 232, 245, 1), rgba(189, 231, 255, 1));
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: 50% 50%;
  overflow: hidden;
}

#particles-js {
  width: 100%;
  height: 100%;
}

.inside_banner_headline {
  position: absolute;
  top: 50%;
  left: 50%;
  text-align: center;
  transform: translate(-50%, -50%);
  z-index: 1;
}

.inside_banner_headline h2 {
  margin-bottom: 20px;
  font-size: 24px;
  line-height: 1;
  color: #172344;
}

.inside_banner_headline h5 {
  font-size: 60px;
  font-family: "Federo";
  line-height: 1;
  color: #172344;
  text-transform: uppercase;
}

/* inside_about_top_container */
.inside_about_top_container {
  position: relative;
  overflow: hidden;
  /* background-image: linear-gradient(rgba(255, 255, 255, 0.9), rgba(295, 255, 255, 0.9)), url('../images/about/abg.png');
  background-repeat: no-repeat;
  background-attachment: fixed; */
}

.inside_about_top_container .iat_main_img {
  position: absolute;
  top: -150px;
  right: 0;
  opacity: 0.05;
  animation: iatMainImg 5s linear infinite alternate;
}

@keyframes iatMainImg {
  100% {
    transform: scale(1.1) translate3d(10%, 0, 0);
  }
}

/* .inside_about_top_container::before {
  position: absolute;
  top: 0;
  left: 0;
  content: '';
  display: block;
  width: 37vw;
  height: 100%;
  background-color: #EFF4FE;
} */

.inside_about_top {
  padding: 90px 0 100px;
}

.inside_about_top .in_ab_t_left {
  position: relative;
  width: 640px;
  height: 450px;
}

.inside_about_top .in_ab_t_left::before,
.inside_about_top .in_ab_t_left::after {
  position: absolute;
  content: '';
  display: block;
  width: 62px;
  height: 62px;
}

.inside_about_top .in_ab_t_left::before {
  right: 0;
  bottom: 0;
  transform-origin: right;
  background-color: #29CCB6;
  animation: aboutGreen 10s linear infinite alternate;
}

@keyframes aboutGreen {
  100% {
    transform: rotateY(360deg);
  }
}

.inside_about_top .in_ab_t_left::after {
  right: -62px;
  bottom: -62px;
  background-color: #4585F5;
  transform-origin: left;
  animation: aboutBlue 10s linear infinite alternate;
}

@keyframes aboutBlue {

  100% {
    transform: rotateY(360deg);
  }
}

.inside_about_top .in_ab_t_right {
  width: 630px;
  padding-top: 40px;
}

.inside_about_top .in_ab_t_right h2 {
  margin-bottom: 45px;
  font-size: 48px;
  font-family: "Federo";
  color: #000000;
  line-height: 0.6;
}

.inside_about_top .in_ab_t_right h2::after {
  content: '';
  display: block;
  margin-top: 30px;
  width: 50px;
  height: 2px;
  background-color: #4585F5;
}

.inside_about_top .in_ab_t_right .iat_item {
  margin-bottom: 25px;
  padding-bottom: 5px;
}

.inside_about_top .in_ab_t_right .iat_item:last-of-type {
  margin-bottom: 0;
}

.inside_about_top .in_ab_t_right .iat_item h3 {
  margin-bottom: 16px;
  font-size: 20px;
  line-height: 1.2;
  font-weight: 600;
  color: #000000;
}

.inside_about_top .in_ab_t_right .iat_item p {
  margin-bottom: 15px;
  font-size: 16px;
  font-family: "Federo";
}

.inside_about_top .in_ab_t_right .iat_item ul {
  border-top: 1px solid #dfdfdf;
  border-left: 1px solid #dfdfdf;
}

.inside_about_top .in_ab_t_right .iat_item ul li {
  width: 25%;
  padding: 10px;
  border-right: 1px solid #dfdfdf;
  border-bottom: 1px solid #dfdfdf;
  font-size: 14px;
  line-height: 1.6;
  font-family: "Federo";
  transition: color 300ms ease, background-color 300ms ease;
}

.inside_about_top .in_ab_t_right .iat_item ul li:hover {
  color: #fff;
  background-color: #4585F5;
}

/* inside_about_serve_container */
.inside_about_serve_container {
  background-color: #EFF4FE;
}

.inside_about_serve {}

.inside_about_serve .ias_item {
  width: calc(25% - 20px);
  height: 150px;
  background-color: #fff;
  transition: background-color 300ms ease, box-shadow 300ms ease;
}

.inside_about_serve .ias_item:hover {
  background-color: #29CCB6;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

.inside_about_serve .ias_item .ias_item_img {
  width: 100px;
  height: 100px;
  margin-right: 20px;
  background-color: rgba(41, 204, 182, 1);
}

.inside_about_serve .ias_item .ias_item_img img {
  width: 60%;
  transition: transform 300ms ease;
}

.inside_about_serve .ias_item:hover .ias_item_img img {
  transform: scale(1.1);
}

.inside_about_serve .ias_item .ias_item_right {
  transition: transform 300ms ease;
}

.inside_about_serve .ias_item:hover .ias_item_right {
  transform: translateX(5px);
}

.inside_about_serve .ias_item .ias_item_right h2 {
  margin-bottom: 5px;
  font-size: 22px;
  color: #000;
  transition: color 300ms ease;
}

.inside_about_serve .ias_item:hover .ias_item_right h2 {
  color: #fff;
}

.inside_about_serve .ias_item .ias_item_right h3 {
  font-size: 16px;
  font-family: "Federo";
  color: #999;
  /* text-transform: uppercase; */
  transition: color 300ms ease;
}

.inside_about_serve .ias_item:hover .ias_item_right h3 {
  color: #fff;
}

/* inside_about_team */
.inside_about_team {}

.inside_about_team_list {
  margin-top: 70px;
}

.inside_about_team_list .inside_about_team_item {
  width: 48%;
  margin-right: 2%;
  padding: 30px;
  /* border: 1px solid #f1f1f1; */
  /* box-shadow: 0 0 5px rgba(0, 0, 0, 0.1); */
  background-color: #f8f8f8;
  transition: transform 300ms ease, box-shadow 300ms ease;
}


.inside_about_team_list .inside_about_team_item:hover {
  transform: translateY(-10px);
  /* box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); */
}

.inside_about_team_item .iag_top {
  margin-bottom: 10px;
}

.inside_about_team_item .iag_top .iag_avatar {
  width: 65px;
  height: 65px;
  margin-right: 10px;
  border: 5px solid #f1f1f1;
  border-radius: 50%;
  overflow: hidden;
}

.inside_about_team_item .iag_top .iag_avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.inside_about_team_item .iag_top .iag_name {
  flex: 1;
}

.inside_about_team_item .iag_top .iag_name h3 {
  position: relative;
  display: inline-block;
  font-size: 22px;
}

.inside_about_team_item .iag_top .iag_name h3 span {
  position: relative;
}

.inside_about_team_item .iag_top .iag_name h3::before {
  content: '';
  position: absolute;
  bottom: 2px;
  width: 0;
  height: 6px;
  background-image: linear-gradient(90deg, #29CCB6, rgba(0, 0, 0, 0));
  transition: width 300ms ease;
}

.inside_about_team_item:hover .iag_top .iag_name h3::before {
  width: 100%;
}

.inside_about_team_item .iag_top .iag_name h6 {
  font-size: 14px;
}

.inside_about_team_item .iag_top .iag_score .star_five {
  margin-left: 5px;
}

.star_five {
  position: relative;
  width: 0;
  height: 0;
  border-right: 10px solid transparent;
  border-bottom: 7px solid #fe9a4e;
  border-left: 10px solid transparent;
  transform: rotate(35deg);
}

.star_five:before {
  content: '';
  position: absolute;
  top: -4px;
  left: -6px;
  width: 0;
  height: 0;
  display: block;
  border-bottom: 8px solid #fe9a4e;
  border-left: 3px solid transparent;
  border-right: 3px solid transparent;
  transform: rotate(-35deg);
}

.star_five:after {
  content: '';
  position: absolute;
  top: 0;
  left: -10px;
  display: block;
  width: 0;
  height: 0;
  border-right: 10px solid transparent;
  border-bottom: 7px solid #fe9a4e;
  border-left: 10px solid transparent;
  transform: rotate(-70deg);
}

.inside_about_team_item .iag_bottom {
  position: relative;
}

.inside_about_team_item .iag_bottom .iag_bottom_img {
  position: absolute;
  width: 65px;
  height: 65px;
  object-fit: cover;
  opacity: 0.03;
}

.inside_about_team_item .iag_bottom .iag_bottom_text {
  padding: 30px 0 0 40px;
  font-size: 14px;
  line-height: 1.8;
}

/* inside_help_list */
.inside_help_list {}

.inside_help_item {
  position: relative;
  width: 440px;
  margin: 0 40px 230px 0;
  transition: transform 300ms ease;
}

.inside_help_item:nth-of-type(3n) {
  margin-right: 0;
}

.inside_help_item .ihi_top {
  position: relative;
  aspect-ratio: 10 / 9;
  overflow: hidden;
}

.inside_help_item .ihi_top .ihi_top_time {
  position: absolute;
  top: 20px;
  left: 20px;
  width: 100px;
  height: 32px;
  text-align: center;
  line-height: 32px;
  font-size: 16px;
  color: #fff;
  background-color: #4585F5;
  z-index: 1;
}

.inside_help_item .ihi_top .ihi_top_img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.inside_help_item .ihi_top .ihi_top_shading {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transform: translateY(-100%);
  background-color: rgba(0, 0, 0, 0.5);
  transition: opacity 300ms ease, transform 300ms ease;
}

.inside_help_item:hover .ihi_top .ihi_top_shading {
  opacity: 1;
  transform: translateY(0);
}

.inside_help_item .ihi_top .ihi_top_shading::before,
.inside_help_item .ihi_top .ihi_top_shading::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: #049DEE;
}

.inside_help_item .ihi_top .ihi_top_shading::before {
  width: 22px;
  height: 2px;
}

.inside_help_item .ihi_top .ihi_top_shading::after {
  width: 2px;
  height: 22px;
}

.inside_help_item .ihi_bottom {
  position: absolute;
  top: 90%;
  left: 50%;
  width: 90%;
  padding: 30px;
  transform: translateX(-50%);
  background-color: #f8f8f8;
  transition: background-color 300ms ease;
}

.inside_help_item:hover .ihi_bottom {
  background-color: #4585F5;
}

.inside_help_item .ihi_bottom .ihi_title {
  margin-bottom: 10px;
  font-size: 24px;
  color: #000;
  transition: color 300ms ease;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.inside_help_item:hover .ihi_bottom .ihi_title,
.inside_help_item:hover .ihi_bottom .ihi_profile,
.inside_help_item:hover .ihi_bottom .ihi_more {
  color: #fff;
}

.inside_help_item .ihi_bottom .ihi_profile {
  margin-bottom: 25px;
  font-size: 14px;
  line-height: 1.8;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  color: #555;
  transition: color 300ms ease;
}

.inside_help_item .ihi_bottom .ihi_more {
  transition: color 300ms ease;
}

/* inside_help_detail */
.inside_help_detail {
  align-items: flex-start;
}

.ihd_left {
  width: 65%;
}

.ihd_left_top {
  position: relative;
  width: 100%;
  margin-bottom: 30px;
}

.ihd_left_top img {
  width: 100%;
}

.ihd_left_top .ihd_left_top_time {
  position: absolute;
  top: 20px;
  left: 20px;
  width: 100px;
  height: 32px;
  text-align: center;
  line-height: 32px;
  font-size: 16px;
  color: #fff;
  background-color: #4585F5;
  z-index: 1;
}

.ihd_left_bottom {}

.ihd_left_bottom .ilb_title {
  margin-bottom: 35px;
  padding-bottom: 30px;
  font-size: 30px;
  color: #000;
  border-bottom: 1px solid #e0e0e0;
}

.ihd_left_bottom .ilb_profile {
  margin-bottom: 25px;
  font-size: 16px;
  line-height: 2;
}

.ihd_left_bottom .ilb_profile h2 {
  font-size: 24px;
}

.ihd_left_bottom .ilb_profile img {
  max-width: 100%;
}

.ihd_left_bottom .ilb_handle {
  padding-top: 25px;
  border-top: 1px solid #e0e0e0;
}

.ihd_left_bottom .ilb_handle .ilb_left {
  padding-left: 20px;
  line-height: 22px;
  background-image: url('../images/left-arrow.png');
  background-position: left;
  background-repeat: no-repeat;
}

.ihd_left_bottom .ilb_handle .ilb_right {
  padding-right: 20px;
  line-height: 22px;
  background-image: url('../images/right-arrow.png');
  background-position: right;
  background-repeat: no-repeat;
}

.ihd_left_bottom .ilb_handle .ilb_left span,
.ihd_left_bottom .ilb_handle .ilb_right span {
  font-size: 14px;
}

.ihd_left_bottom .ilb_handle .ilb_left a,
.ihd_left_bottom .ilb_handle .ilb_right a {
  display: block;
  max-width: 200px;
  font-size: 14px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ihd_right {
  position: sticky;
  top: 80px;
  width: 32%;
  margin-left: 3%;
  padding: 20px;
  background-color: #F8F8F8;
}

.ihd_right_headline {
  margin-bottom: 5px;
  padding-left: 20px;
  font-size: 26px;
  color: #414141;
}

.ihd_right_headline span {
  font-size: 18px;
  color: #8e8e8e;
}

.ihd_right_list {}

.ihd_right_item {
  height: 130px;
  padding: 20px;
  transition: box-shadow 300ms ease, background-color 300ms ease;
}

.ihd_right_item:hover {
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.05);
  background-color: #fff;
}

.ihd_right_item .iri_img {
  width: 100px;
  height: 90px;
  margin-right: 15px;
}

.ihd_right_item .iri_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ihd_right_item .iri_right {
  flex: 1;
}

.ihd_right_item .iri_right .iri_right_t {
  margin-bottom: 5px;
  line-height: 1.2;
  color: #414141;
  transition: color 300ms ease;
}

.ihd_right_item:hover .iri_right .iri_right_t {
  color: #4585F5;
}


.ihd_right_item .iri_right .iri_right_d {
  font-size: 14px;
  line-height: 1.6;
  color: #8E8E8E;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}

/* inside_contact */
.inside_contact_top {
  background-color: #F8F8F8;
}

.ict_list {
  margin-bottom: 60px;
}

.ict_item {
  width: 332px;
  aspect-ratio: 25 / 21;
  padding: 60px 0 0 50px;
  background-color: #FFFFFF;
  box-shadow: 0 0 30px rgba(214, 214, 214, 0.4);
  transition: box-shadow 300ms ease;
}

.ict_item:hover {
  box-shadow: none;
}

.ict_item .ict_en {
  margin-bottom: 5px;
  font-size: 20px;
  color: #000000;
  line-height: 1;
}

.ict_item .ict_profile {
  margin-bottom: 40px;
  font-size: 14px;
  color: #D7D7D7;
  line-height: 1;
}

.ict_item .ict_main {
  position: relative;
  display: inline-block;
  margin-bottom: 40px;
  font-size: 18px;
  color: #555555;
  line-height: 1;
  font-family: "Neue";
}

.ict_item .ict_main span,
.ict_item .ict_main a {
  position: relative;
}

.ict_item .ict_main::before {
  content: '';
  position: absolute;
  bottom: 0;
  width: 0;
  height: 6px;
  background-image: linear-gradient(90deg, #29CCB6, rgba(0, 0, 0, 0));
  transition: width 300ms ease;
}

.ict_item:hover .ict_main::before {
  width: 100%;
}

.ict_item .ict_icon {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background-color: #2F2D33;
  transition: background-color 300ms ease;
}

.ict_item:hover .ict_icon {
  background-color: #4585F5;
}

.ict_item .ict_icon img {}

.ict_txt {
  text-align: center;
  border-top: 1px solid #e3e3e3;
  padding-top: 60px;
}

.ict_txt p {
  padding-top: 10px;
}

/* inside_contact_bottom */
.inside_contact_bottom {
  /* background-image: linear-gradient(rgba(69, 133, 245, 0.9), rgba(69, 133, 245, 0.9)), url('../images/contact/13--1-.png'); */
  background-size: cover;
  background-repeat: no-repeat;
  background-attachment: fixed;
}

.process_container {
  margin-top: 70px;
}

.process_item {
  width: 20%;
  height: 210px;
  flex-direction: column;
}

.process_item_reverse {
  flex-direction: column-reverse;
}

.process_item .ces_icon {
  position: relative;
  width: 120px;
  height: 120px;
  border-radius: 50%;
  background-color: #F8F8F8;
}

.process_item:hover .ces_icon {
  background-image: linear-gradient(90deg, #29CCB6, #4585F5);
}

.process_item .ces_icon img {
  position: absolute;
  transition: opacity 300ms ease;
}

.process_item .ces_icon img:last-of-type {
  opacity: 0;
}

.process_item:hover .ces_icon img:first-of-type {
  opacity: 0;
}

.process_item:hover .ces_icon img:last-of-type {
  opacity: 1;
}

.process_item .ces_txt {
  text-align: center;
}

.process_item .ces_txt h3 {
  position: relative;
  display: inline-block;
  margin-bottom: 15px;
  font-size: 24px;
  color: #000000;
  line-height: 1;
}

.process_item .ces_txt h3::before {
  content: '';
  position: absolute;
  bottom: 0;
  width: 0;
  height: 6px;
  z-index: -1;
  background-image: linear-gradient(90deg, #29CCB6, rgba(0, 0, 0, 0));
  transition: width 300ms ease;
}

.process_item:hover .ces_txt h3::before {
  width: 100%;
}

.process_item .ces_txt p {
  font-size: 14px;
  color: #8F8F8F;
  line-height: 1;
}

.process_arrow {}

/* inside_casus_container */
.inside_casus_container {
  background-color: #f0f0f0;
}

.inside_casus_container .inside_case_catalog {
  display: none;
}

/* web_case */
.web_case {
  margin-top: 90px;
}

.inside_case_bevel:before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  border-style: solid;
  border-width: 0;
  border-color: rgba(0, 0, 0, 0.2) #f0f0f0;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.3), -1px 1px 1px rgba(0, 0, 0, 0.2);
  transition: all 300ms linear;
}

.inside_case_bevel:hover:before {
  border-right-width: 80px;
  border-bottom-width: 80px;
}

.web_case_item {
  display: block;
  position: relative;
  width: 50%;
  margin-bottom: 60px;
  overflow: hidden;
}


.web_case_item .wci_float {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 450px;
  height: 110px;
  transform: translateY(110px);
  transition: transform 300ms ease;
}

.web_case_item:hover .wci_float {
  transform: translateY(0);
}

.web_case_item .wci_float .wcif_left {
  width: 340px;
  padding: 30px 0 0 65px;
  background-color: rgba(0, 0, 0, 0.8);
}

.web_case_item .wci_float .wcif_left::before {
  position: absolute;
  top: 40px;
  left: 0;
  content: '';
  width: 40px;
  height: 2px;
  background-color: #049DEE;
}

.web_case_item .wci_float .wcif_left span {
  font-size: 14px;
  color: #BABABA;
  line-height: 1;
}

.web_case_item .wci_float .wcif_left h3 {
  margin-top: 8px;
  font-size: 16px;
  color: #FFFFFF;
  line-height: 1;
}

.web_case_item .wci_float .wcif_right {
  width: 110px;
  background-color: rgba(69, 133, 245, 0.95);
}

.web_case_item .wci_float .wcif_right img {
  margin-bottom: 10px;
}

.web_case_item .wci_float .wcif_right span {
  font-size: 16px;
  color: #FFFFFF;
  line-height: 1;
}

/* plane_case */
.plane_case {
  margin-top: 90px;
}

.plane_case_item {
  position: relative;
  width: calc(50% - 20px);
  margin-bottom: 40px;
  overflow: hidden;
}

.plane_case_item .pci_float {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 370px;
  height: 190px;
  padding: 55px 0 0 65px;
  background-color: rgba(0, 0, 0, 0.8);
  transform: translateY(190px);
  transition: transform 300ms ease;
}

.plane_case_item:hover .pci_float {
  transform: translateY(0);
}

.plane_case_item .pci_float::before {
  position: absolute;
  top: 60px;
  left: 0;
  content: '';
  width: 40px;
  height: 2px;
  background-color: #049DEE;
}

.plane_case_item .pci_float span {
  font-size: 14px;
  color: #BABABA;
  line-height: 1;
}

.plane_case_item .pci_float h3 {
  margin: 18px 0 5px;
  font-size: 16px;
  color: #FFFFFF;
  line-height: 1;
}

.plane_case_item .pci_float h6 {
  font-size: 30px;
  color: #FFFFFF;
  line-height: 1;
  text-transform: uppercase;
}

/* app_case */
.app_case {
  margin-top: 90px;
}

.app_case_item {
  position: relative;
  width: calc(50% - 20px);
  height: 490px;
  margin-bottom: 40px;
  padding: 50px 30px 60px 65px;
  background-color: #fff;
  overflow: hidden;
}

.app_case_item .aci_left {
  width: 345px;
  padding: 80px 0 0 0;
}

.app_case_item .aci_left h6 {
  font-size: 30px;
  color: #000000;
  line-height: 1;
  text-transform: uppercase;
}

.app_case_item .aci_left h3 {
  margin: 15px 0 40px;
  font-size: 16px;
  color: #555555;
  line-height: 1;
}

.app_case_item .aci_left p {
  font-size: 14px;
  color: #ABABAB;
  line-height: 1.8;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}

.app_case_item .pic_full {
  width: 215px;
}

.app_case_item .aci_float {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 340px;
  height: 110px;
  padding: 30px 0 0 65px;
  background-color: rgba(0, 0, 0, 0.8);
  transform: translateY(110px);
  transition: transform 300ms ease;
}

.app_case_item:hover .aci_float {
  transform: translateY(0);
}

.app_case_item .aci_float::before {
  position: absolute;
  top: 40px;
  left: 0;
  content: '';
  width: 40px;
  height: 2px;
  background-color: #049DEE;
}

.app_case_item .aci_float span {
  font-size: 14px;
  color: #BABABA;
  line-height: 1;
}

.app_case_item .aci_float h3 {
  margin-top: 8px;
  font-size: 16px;
  color: #FFFFFF;
  line-height: 1;
}