@charset "UTF-8";
:root {
  --window-padding: 3%;
  --vertical-window-padding: 50px;
}

.mv_text h1 {
  font-size: 40px;
}

.mv_text h2 {
  font-size: 25px;
}

.mv_text h3 {
  font-size: 16px;
}

.top_section h2 {
  flex-direction: column;
  line-height: 50px;
  gap: 0;
}

.top_section .wrap {
  flex-direction: column-reverse;
  gap: 30px;
}

.top_section .top_sec02 .wrap {
  flex-direction: column;
  padding-bottom: 0;
}

.top_section .wrap .cta {
  width: 100%;
}

.top_section .img_box {
  margin-bottom: 50px;
}

.top_section .section_ttl-box {
  margin-bottom: 50px;
  align-items: center;
  flex-wrap: wrap;
  gap: 0;
}

.top_section .section_ttl-box h3 {
  margin-right: 0;
  width: 100%;
  margin-bottom: 40px;
}

.top_section .section_ttl-box h3::after {
  right: 50%;
  transform: translateX(50%);
}

.top_section .img_box::after {
  width: 90px;
  height: 90px;
  right: 0;
}

.top_section .top_sec02 .img_box::after {
  right: unset;
  left: 0;
}

.top_section .top_sec03 .img_box::after {
  bottom: unset;
  top: -20px;
}

.top_section .section_ttl-box h5,
.top_section .section_ttl-box h4 {
  width: fit-content;
}

.top_access .section_ttl {
  padding-left: 0;
  margin-bottom: 50px;
  flex-direction: column-reverse;
  gap: 0;
  line-height: 50px;
}

.top_access .section_ttl::before,
.top_access .section_ttl::after {
  width: 15%;
}

.top_access .img_box .txt_wrap {
  position: unset;
}

.top_staff .section_ttl {
  flex-direction: column;
  gap: 20px;
  line-height: 40px;
  align-items: self-start;
}

.top_staff .section_ttl::before,
.top_staff .section_ttl::after {
  width: 15%;
}

.top_staff .wrap .img_wrap .img_box.img_box.img_box03 span,
.top_staff .wrap .img_wrap .img_box.img_box.img_box04 span {
  top: unset;
  bottom: 72%;
  left: 50%;
  transform: translate(-50%, 50%);
  width: 110px;
  font-size: 14px;
  height: 30px;
}

.top_staff .wrap .img_wrap .img_box.img_box.img_box04 span {
  left: 52%;
}

.top_staff .wrap .img_wrap .img_box.img_box.img_box01 span,
.top_staff .wrap .img_wrap .img_box.img_box.img_box02 span {
  right: 50%;
  bottom: 72%;
  transform: translate(50%, 50%);
  width: 110px;
  padding: 0 10px;
  font-size: 16px;
  height: 30px;
}

.top_staff .wrap .img_wrap .img_box.img_box.img_box02 span {
  right: 48%;
}

.top_staff .wrap .img_wrap {
  flex-direction: column;
  align-items: center;
  gap: 0;
  margin-bottom: 0;
}

.top_staff .wrap .img_wrap:nth-child(2) {
  margin-bottom: 30px;
}

.top_staff .wrap .img_wrap .img_box.img_box04,
.top_staff .wrap .img_wrap .img_box.img_box02,
.top_staff .wrap .img_wrap .img_box.img_box03,
.top_staff .wrap .img_wrap .img_box.img_box01  {
  margin-top: 0;
  margin-left: 0;
  width: 100%;
}

.top_staff .wrap .img_wrap .img_box img {
  width: 45%;
}

.top_staff .wrap .img_wrap .img_box.img_box02,
.top_staff .wrap .img_wrap .img_box.img_box04 {
  text-align: end;
  margin-top: -25px;
}

.top_staff .wrap .txt_box {
  font-size: 16px;
}

.top_staff .inner {
  padding-bottom: 30px;
}

.follow_cta {
  position: unset;
  transform: unset;
  text-align: center;
  margin-bottom: 20px;
}

.follow_cta a::after {
  display: none;
}

.follow_cta .btns a {
  padding: 0;
  margin: 0;
}

.sub_company .section_ttl-box {
  margin-bottom: 50px;
  flex-direction: column;
}

.sub_company.bg::after {
  height: 25%;
}

.sub_company .sec01 .wrap .img_box h3 {
  text-align: center;
  margin-bottom: 30px;
  font-size: 26px;
  font-family: var(--font-family01);
  color: rgb(var(--font-color01));
}

.sub_company .sec02 .txt_box h2 {
  font-size: 26px;
}

.sub_company .sec02 .txt_box p {
  font-size: 16px;
}

.sub_company .sec03 .wrap .card {
  flex-direction: column;
}

.sub_company .sec03 .wrap .card .img_box {
  width: 100%;
  margin-bottom: 30px;
}

.sub_company .sec03 .wrap .card .txt_box .name {
  margin: 0 auto 35px;
}

.sub_company .sec03 .wrap .card .txt_box .desc {
  padding-left: 0;
  margin: 0 auto;
}

.sub_company .sec03 .wrap .card.card02,
.sub_company .sec03 .wrap .card.card04 {
  flex-direction: column-reverse;
}

.sub_company .sec03 .wrap .card.card02 .txt_box .name {
  margin: 0 auto 30px;
}

.sub_company .sec03 .wrap .card.card02 .txt_box .desc {
  padding-left: 0;
  max-width: 450px;
}

.sub_company .sec03 .wrap .card.card03 .txt_box .desc {
  padding-left: 0;
  max-width: 450px;
}

.sub_company .sec03 .wrap .card.card04 .txt_box .name {
  margin: 0 auto 30px;
}

.sub_company .sec03 .wrap .card.card04 .txt_box .desc {
  padding-left: 0;
  max-width: 450px;
}

.sub_company.sec04 .section_ttl-box .inner {
  gap: 20px;
  flex-direction: column;
}

.sub_company.sec04 .section_ttl-box div:nth-child(2) h2 {
  font-size: 28px;
}

.sub_company.sec04 .wrap .wrap_flex {
  flex-direction: column-reverse;
  gap: 30px;
  padding: 0 3%;
}

.sub_company.sec04 .wrap .wrap_flex .txt_box p {
  font-size: 16px;
}

.sub_company.sec04 .wrap:nth-child(2) {
  margin-bottom: 0;
}

.sub_company .sec03 .wrap .card.paw-icon::after {
  left: 10%;
}

.sub_company .sec03 .wrap .card.paw-icon.paw-icon2::after {
  right: 10%;
}

.sub-service_flow .section-ttl_box div.line {
  display: none;
}

.sub-service_flow .wrap01 {
  display: none;
}

.sub-service_flow .section-ttl_box div:nth-child(2) {
  width: 100%;
  border-top: solid 1px rgb(247, 188, 211);
  border-bottom: solid 1px rgb(247, 188, 211);
  padding: 15px 3%;
}

.sub-service_flow.sec02 .ttl02 {
  margin-bottom: 200px;
  font-size: 16px;
}

.sub-service_flow.sec02 .ttl {
  font-size: 20px;
}

.sub-service_flow.sec02 .wrap02::after {
  top: -150px;
}

.sub-service_flow .wrap01 .card {
  width: 47%;
}

.sub-service_flow.sec01 {
  padding-top: 40px;
  padding-bottom: 0;
}

.sub-service_flow .section-ttl_box {
  margin-bottom: 0;
}

.sub-service_flow.sec02 .wrap02 .card .wrap-flex {
  flex-direction: column;
}

.sub-service_flow.sec02 .wrap02 .card .wrap-flex.pc {
  display: none;
}

.sub-service_flow.sec02 .wrap02 .card .wrap-flex.sp {
  display: flex;
}

.sub-service_flow.sec02 .wrap02 .card .wrap-flex .img_box {
  width: 100%;
}

.sub-service_flow.sec02 .wrap02 .card .wrap-flex .img_box p {
  margin-bottom: 0;
  margin-top: 20px;
}

.sub-service_flow.sec02 .wrap02.wrap02-03 .card .wrap-flex {
  padding: 40px 20px 20px;
}

.sub-service_flow.sec02 .wrap02 .card .wrap-flex .img_box span {
  font-size: 14px;
  color: rgb(var(--font-color01));
  font-family: var(--font-family01);
  margin-top: 20px;
}

@keyframes arrow-down_animation {
  from {
    bottom: -9%;
  }
  90% {
    bottom: -10%;
  }
  80% {
    bottom: -11%;
  }
  70% {
    bottom: -12%;
  }
  60% {
    bottom: -13%;
  }
  50% {
    bottom: -14%;
  }
  40% {
    bottom: -13%;
  }
  30% {
    bottom: -12%;
  }
  20% {
    bottom: -11%;
  }
  10% {
    bottom: -10%;
  }
  to {
    bottom: -9%;
  }
}

@keyframes arrow-down_animation02 {
  from {
    bottom: -4%;
  }
  90% {
    bottom: -4.5%;
  }
  80% {
    bottom: -5%;
  }
  70% {
    bottom: -5.5%;
  }
  60% {
    bottom: -6%;
  }
  50% {
    bottom: -6.5%;
  }
  40% {
    bottom: -6%;
  }
  30% {
    bottom: -5.5%;
  }
  20% {
    bottom: -5%;
  }
  10% {
    bottom: -4.5%;
  }
  to {
    bottom: -4%;
  }
}

@keyframes arrow-down_animation03 {
  from {
    bottom: -4%;
  }
  90% {
    bottom: -4.5%;
  }
  80% {
    bottom: -5%;
  }
  70% {
    bottom: -5.5%;
  }
  60% {
    bottom: -6%;
  }
  50% {
    bottom: -6.5%;
  }
  40% {
    bottom: -6%;
  }
  30% {
    bottom: -5.5%;
  }
  20% {
    bottom: -5%;
  }
  10% {
    bottom: -4.5%;
  }
  to {
    bottom: -4%;
  }
}

.sub-service_flow.sec02 .wrap02.arrow-down::before {
  display: none;
}

.sub-service_flow.sec02 .wrap02 .card a {
  font-size: 18px;
}

.sub-service_flow.sec02 .wrap02 .card .wrap-flex .txt_box {
  font-size: 16px;
}

.sub-service_flow.sec02 .wrap02.wrap02-02 .card .wrap-flex .txt_box h3 {
  font-size: 19px;
  margin-bottom: 25px;
  padding: 0;
  padding-right: 35px;
  margin: 30px auto 20px 0;
}

.sub-service_flow.sec02 .wrap02.wrap02-02 .card .wrap-flex .txt_box h3::after {
  width: 40px;
  height: 40px;
  right: unset;
  left: 10px;
  bottom: 30px;
}

.sub-service_flow.sec02 .wrap02.wrap02-02 .card .wrap-flex.ribbon::after {
  width: 60px;
  height: 60px;
  left: unset;
  right: 5px;
  top: 6px;
}

.sub-service_flow.sec02 .wrap02 .card .wrap-flex:nth-last-child(1) {
  margin-bottom: 0;
}

.sub-service_flow.sec02 .wrap02 .card .wrap-flex:nth-last-child(1) .txt_box h3 {
  padding: 0;
  font-size: 18px;
}

.sub-service_flow.sec02 .wrap02 .card .wrap-flex:nth-last-child(1) .txt_box h3::after {
  left: unset;
  right: -20px;
}

.sub-service_flow.sec02 .wrap02 {
  padding: 50px 3% 50px;
  margin-bottom: 150px;
}

#common-cases .ttl {
  font-size: 32px;
  padding: 50px 3% 0;
}

#common-cases .ttl span {
  font-size: 20px;
}

.sub-common_cases .case .case_name {
  font-size: 20px;
}

.sub-common_cases::before {
  background-size: 200% 40%;
  background-position: 50% 0;
}

.sub-common_cases::after {
  background-size: 120% 10%;
  background-position: 50% 0;
}

.sub-common_cases.sec05::before {
  background-size: 200% 24%;
  background-position: 50% 0;
}

.sub-common_cases.sec05::after {
  background-size: 120% 10%;
  background-position: 50% 0;
}

.sub-common_cases .case .case_wrap.paw-right::before {
  right: 0;
  top: 0;
  width: 40px;
  height: 40px;
}

.sub-common_cases .case .case_wrap.paw-left::before {
  right: 0;
  left: unset;
  top: 0;
  width: 40px;
  height: 40px;
}

@media screen and (max-width: 568px) {
  #page_top {
    width: 95%;
    right: 50%;
    transform: translateX(50%);
    bottom: 10px;
    background: rgb(128, 128, 128);
    z-index: 5;
  }

  #page_top .sp {
    display: flex;
    justify-content: center;
    width: 100%;
  }

  #page_top .pc {
    display: none;
  }

  #page_top a {
    width: 100%;
    height: auto;
    border-radius: 0;
    background: rgb(128, 128, 128);
    box-shadow: unset;
    padding: 15px;
    gap: 5px;
  }

  #page_top a span:nth-child(1) {
    font-size: 16px;
  }

  #page_top a span:nth-child(2) {
    font-size: 14px;
    margin-bottom: 0;
  }

  #page_top a img {
    width: 25px;
    height: 25px;
  }

  #page_top a:hover {
    background: rgb(128, 128, 128);
  }

  .mv {
    background-image: url(../img/top/mv_top-sp.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    height: 302px;
    min-height: 302px;
  }

  .mv .scrollmv {
    right: -28px;
    bottom: 30%;
    font-size: 10px;
  }

  .mv_text h1 {
    font-size: 23px;
  }

  .mv_text h3 {
    padding-right: 9%;
    font-size: 12px;
  }

  .mv_text h2 {
    font-size: 14px;
    margin-bottom: 20px;
  }

  .mv_text h2:nth-child(2) {
    margin-bottom: 0;
  }

  .pink_btn span.mail::after {
    width: 20px;
    height: 20px;
    right: -30px;
  }

  .pink_btn {
    padding: 0 15% 0 10%;
    font-size: 14px;
    max-width: fit-content;
    height: 50px;
  }

  .sub_company .sec02::after {
    background-size: 130% 100%;
    background-repeat: no-repeat;
    height: 40px;
  }

  .sub_company .sec02::before {
    background-size: 130% 100%;
    background-repeat: no-repeat;
    height: 40px;
  }

  .top_section .top_sec02 .lower_txt {
    font-size: 10px;
  }

  .top_section .top_sec03 .lower_txt {
    font-size: 10px;
    text-align: center;
  }

  .top_section .top_sec02 .about_btn,
  .top_section .top_sec03 .about_btn {
    font-size: 11px;
    padding: 5px 13% 10px 3%;
    max-width: 300px;
  }

  .top_section .about_btn::after {
    width: 40px;
    height: 20px;
    right: 10%;
    top: 45%;
  }

  .top_section .top_sec02 .lower_txt::before, .top_section .top_sec03 .lower_txt::before {
    right: 0;
  }

  .top_section .top_sec02 .lower_txt::after, .top_section .top_sec03 .lower_txt::after {
    left: 0;
  }

  .top_section .section_ttl-box h4 {
    font-size: 22px;
  }

  .top_section .section_ttl-box h5 {
    font-size: 20px;
  }

  .top_section .wrap .cta_textbox p {
    font-size: 14px;
    text-align: center;
  }

  .top_section .top_sec03 .wrap .cta_textbox p {
    padding-bottom: 0;
  }

  .top_section .top_sec03 .lower_txt02 {
    font-size: 17px;
  }

  .top_section h2 {
    line-height: 50px;
    font-size: 40px;
    align-items: self-start;
    padding-left: 30px;
  }

  .top_section .lower_txt {
    font-size: 13px;
  }

  .top_section h2 span {
    font-size: 20px;
    width: 100%;
    text-align: end;
  }

  .top_section h2::after {
    width: 75%;
    margin-left: 0;
    top: -5px;
  }

  .top_section h2::before {
    width: 48%;
    margin-right: 0;
    top: unset;
    bottom: 6px;
    transform: unset;
  }

  .top_section .section_ttl-box h3 {
    text-align: start;
    align-items: self-start;
    flex-direction: row;
    gap: 10px;
    font-size: 70px;
  }

  .top_section .top_sec02 .section_ttl-box h3 {
    justify-content: flex-end;
  }

  .top_section .top_sec02 .section_ttl-box,
  .top_section .top_sec03 .section_ttl-box {
    margin-bottom: 25px;
  }

  .top_section .top_sec02 .section_ttl-box h5 {
    width: 50%;
    font-size: 14px;
  }

  .top_section .top_sec03 .section_ttl-box h5 {
    
  }

  .top_section .section_ttl-box h3::after {
    right: 65%;
    transform: translateX(50%) translateY(-50%);
    top: 80%;
    background-size: contain;
  }

  .top_section .top_sec02 .section_ttl-box h3::after {
    right: -10px;
    transform: translateY(-50%);
  }

  .top_section .wrap .cta .cta_btnwrap a {
    width: 150px;
    height: 150px;
  }

  .top_section .wrap .cta .cta_btnwrap a span:nth-child(1) {
    font-size: 20px;
  }

  .top_section .top_sec02 .wrap .cta .cta_btnwrap a span:nth-child(3), .top_section .top_sec03 .wrap .cta .cta_btnwrap a span:nth-child(3) {
    font-size: 14px;
    letter-spacing: 0px;
  }

  .top_section .wrap .cta .cta_btnwrap a img {
    width: 100%;
    max-width: 50px;
  }

  .top_section .wrap .cta .cta_btnwrap a span:nth-child(3) {
    font-size: 14px;
  }

  .top_section .section_ttl-box {
    margin-bottom: 0px;
  }

  .top_section .top_sec02 .section_ttl-box h4 {
    font-size: 30px;
    line-height: 40px;
    width: 100%;
    text-align: center;
    width: fit-content;
  }

  .top_section .top_sec03 .section_ttl-box h4 {
    font-size: 30px;
  }

  .top_section .top_sec03 .wrap .cta_textbox p span::after, .top_section .top_sec03 .wrap .cta_textbox p::after {
    display: none;
  }

  .top_section .top_sec03 .wrap .cta_textbox p span {
    border-bottom: solid 1px rgb(var(--accent-color01));
    width: fit-content;
  }

  .top_section .wrap .cta_textbox .large_txt {
    font-size: 20px;
  }

  .top_access .section_ttl {
    line-height: 60px;
    font-size: 45px;
    align-items: self-start;
    margin-bottom: 0;
  }

  .top_access .section_ttl span {
    width: 100%;
    text-align: end;
  }

  .top_access .section_ttl::after {
    top: 0;
    width: 65%;
  }

  .top_access .section_ttl::before {
    width: 30%;
    bottom: 0;
    top: unset;
    transform: unset;
  }

  .top_staff .section_ttl span {
    padding-left: 20%;
  }

  .top_access .img_box .cta_wrap.cta01 {
    position: unset;
  }

  .top_access .img_box .cta_wrap {
    width: 180px;
    height: 180px;
  }

  .top_access .img_box .cta_wrap a img {
    width: 68px;
  }

  .top_access .img_box .cta_wrap a .small_txt {
    font-size: 10px;
  }

  .top_access .img_box .cta_wrap a .pink_txt {
    font-size: 14px;
  }

  .top_access .img_box .cta_wrap.cta02 a img {
    width: 115px;
  }

  .top_access .img_box .cta_wrap.cta02 a .small_txt {
    font-size: 9px;
  }

  .top_access .img_box .cta_wrap a .yellow_txt {
    font-size: 9px;
  }

  .top_access .img_box .cta_wrap.cta02 {
    position: unset;
    width: 140px;
    height: 140px;
    margin: -24px 5% 30px auto;
  }

  .top_access .img_box {
    display: flex;
    flex-direction: column;
  }

  .top_access .img_box .txt_wrap {
    font-size: 14px;
  }

  .top_information .section_ttl {
    font-size: 45px;
    margin-bottom: 0;
    line-height: 55px;
    border-top: solid 1px;
    padding-top: 5px;
  }

  .top_information .desc {
    text-align: center;
    font-family: var(--font-family01);
    font-size: 16px;
    margin-bottom: 50px;
    font-weight: 900;
    border-bottom: solid 1px;
    padding-bottom: 15px;
  }

  .top_information .inner .news_list {
    padding: 0;
    margin-bottom: 0;
  }

  .sub_company .sec01 .wrap .img_box h3 {
    font-size: 23px;
  }

  .sub_company .sec03 .ttl {
    margin-bottom: 50px;
  }

  .sub_company .sec03 .wrap .card .txt_box .desc,
  .sub_company .sec03 .wrap .card.card04 .txt_box .desc,
  .sub_company .sec03 .wrap .card.card02 .txt_box .desc,
  .sub_company .sec03 .wrap .card.card03 .txt_box .desc {
    padding: 0 3%;
    font-size: 14px;
  }

  .sub_company .sec03 {
    padding-bottom: 30px;
  }

  .sub_company.sec04 .wrap .wrap_flex .txt_box h3 {
    font-size: 18px;
  }

  .pink_btn.brown {
    max-width: 310px;
    font-size: 14px;
  }

  .pink_btn span.arrow::after {
    width: 16px;
    height: 16px;
    right: -25px;
  }

  .contactbnr .wrap h3 {
    font-size: 17px;
  }

  .contactbnr .contact_mail {
    font-size: 14px;
  }

  .contactbnr .contact_tel {
    font-size: 30px;
  }

  .contactbnr .wrap02 {
    font-size: 16px;
  }

  .sub_company.sec04 .section_ttl-box {
    padding: 30px 3%;
    margin-bottom: 30px;
  }

  .sub_company.bg::after {
    height: 39%;
    background: linear-gradient(186deg, rgba(247, 188, 211, 1) 50%, rgba(255, 255, 255, 0) 50%);
  }

  .sub_company .section_ttl-box div:nth-child(2) h3 {
    font-size: 16px;
  }

  .sub_company .section_ttl-box div:nth-child(2) h2 {
    font-size: 25px;
  }

  .sub-service_flow .section-ttl_box div:nth-child(2) h3 {
    font-size: 20px;
  }

  .sub-service_flow .section-ttl_box div:nth-child(2) h2 {
    font-size: 28px;
  }

  .sub-service_flow {
    padding-bottom: 30px;
  }

  .sub-service_flow .wrap01 .card svg {
    right: 0;
  }

  .sub-service_flow.sec02 .ttl {
    font-size: 24px;
  }

  .sub-service_flow.sec02 .ttl02 {
    font-size: 16px;
    margin-bottom: 150px;
  }

  .sub-service_flow.sec02 .wrap02::after {
    top: -135px;
    width: 135px;
  }

  .sub-service_flow.sec02 .wrap02 {
    padding: 20px 3% 3%;
    margin-bottom: 150px;
  }

  .sub-service_flow.sec02 .wrap02 .card h2 {
    font-size: 20px;
    margin-bottom: 25px;
  }

  .sub-service_flow.sec02 .wrap02 .card h2 span {
    font-size: 14px;
  }

  .sub-service_flow.sec02 .wrap02 .card .wrap-flex .txt_box {
    font-size: 14px;
    line-height: 25px;
  }

  .sub-service_flow.sec02 .wrap02 .card p {
    font-size: 14px;
  }

  .sub-service_flow.sec02 .wrap02 .card a {
    font-size: 16px;
  }

  @keyframes arrow-down_animation02 {
    from {
      bottom: -5%;
    }
    90% {
      bottom: -5.5%;
    }
    80% {
      bottom: -6%;
    }
    70% {
      bottom: -6.5%;
    }
    60% {
      bottom: -7%;
    }
    50% {
      bottom: -7.5%;
    }
    40% {
      bottom: -7%;
    }
    30% {
      bottom: -6.5%;
    }
    20% {
      bottom: -6%;
    }
    10% {
      bottom: -5.5%;
    }
    to {
      bottom: -5%;
    }
  }

  .sub-voice .wrap_voice .wrap_flex {
    flex-direction: column;
  }

  .sub-voice .wrap_voice .wrap_flex .img_box {
    width: 100%;
  }

  .sub-common_cases .case .img_box {
    display: flex;
    flex-direction: column-reverse;
    gap: 10px;
  }

  .sub-common_cases .case .img_box span {
    position: unset;
    transform: unset;
  }

  .sub-common_cases .case .case_wrap ul li span:nth-child(2) {
    width: 50%;
    text-align: end;
  }

  .sub-common_cases .case .case_wrap ul {
    padding: 20px 3%;
  }

  .sub-common_cases .case .case_wrap ul li {
    font-size: 14px;
  }

  .top_section .wrap {
    gap: 10px;
    padding-bottom: 15px;
  }

  .top_section .inner .top_sec01.mb80,
  .top_section .inner .top_sec02.mb80 {
    margin-bottom: 40px;
  }

  .top_section .inner .top_sec03.mb80 {
    margin-bottom: 0;
  }

  .top_section .top_sec03 .img_box::after {
    top: -30px;
    right: -10px;
  }

  .top_section .img_box::after {
    width: 70px;
    height: 70px;
  }

  .top_staff .section_ttl {
    font-size: 50px;
    gap: 0;
  }

  .top_staff .section_ttl::before {
    width: 70%;
    top: 30%;
  }

  .top_staff .section_ttl::after {
    bottom: -5px;
    top: unset;
    width: 70%;
  }

  .top_staff::after {
    height: 18%;
    background: linear-gradient(169deg, rgba(247, 188, 211, 0.9) 50%, rgb(255 253 250) 50%);
  }

  .top_information .section_ttl::before,
  .top_information .section_ttl::after {
    display: none;
  }
  
  .top_information .inner h3 {
    margin-bottom: 20px;
    font-size: 35px;
    color: #fff;
  }

  .top_information .inner h3::after {
    border-bottom: dashed 1px #000;
  }

  .top_information .inner .news_list .blog-post p {
    font-size: 14px;
    color: #fff;
    margin-bottom: 0;
  }

  .top_information .inner .news_list .blog-post a {
    font-size: 16px;
    color: #fff;
  }

  .top_information {
    padding: 0 6% 30px;
  }

  .top_information .inner {
    padding: 20px 1% 20px;
  }

  .news_list .blog-post .txt_box {
    width: 100%;
    display: flex;
    flex-direction: column-reverse;
    justify-content: start;
    gap: 10px;
  }

  #blog-posts-container .blog-post.active {
    border-bottom: solid 1px #fff;
    padding: 15px 10px 30px;
    margin-bottom: 0;
    border-right: solid 1px #fff;
    border-left: solid 1px #fff;
  }

  #blog-posts-container .blog-post.active:nth-child(1) {
    border-top: solid 1px #fff;
  }

  #blog-posts-container .blog-post.img_wrap.active {
    display: flex;
    gap: 10px;
  }

  .news_list .blog-post .img_box {
    width: 30%;
  }

  .news_list .blog-post .img_box img {
    width: 100%;
  }

  footer {
    padding-bottom: 100px;
  }

  footer .desc {
    font-size: 14px;
    margin-bottom: 5px;
  }

  .footer_logo a {
    margin: 0 auto 20px;
  }

  .footer_contact {
    margin-bottom: 20px;
  }

  .footer_contact a {
    font-size: 25px;
    margin: 0 auto 20px;
    padding-left: 50px;
  }

  .footer_contact a::after {
    background-size: 22px;
    width: 40px;
    height: 40px;
  }

  .footer_contact p {
    font-size: 14px;
  }

  .footer_contact .pink_bg {
    font-size: 14px;
    max-width: 300px;
  }

  .footer_nav ul {
    margin-bottom: 20px;
  }

  .copyright {
    font-size: 14px;
  }
}

@media screen and (max-width: 375px) {
  .sub-service_flow .wrap01 .card {
    width: 100%;
  }
}