/* container top-image-full-width */
/* container top-image-full-width */

/* --- START Sub-Container 1 --- */
/* --- START Sub-Container 1 --- */
/* --- START Sub-Container 1 --- */
/* --- START Sub-Container 1 --- */
/* --- START Sub-Container 1 --- */
/* --- START Sub-Container 1 --- */
/* --- START Sub-Container 1 --- */
/* --- START Sub-Container 1 --- */
/* --- START Sub-Container 1 --- */
/* --- START Sub-Container 1 --- */

/* .container-top {
  max-width: 1200px;
  margin: 0 auto;
  overflow: unset;
  padding-right: 0px;
  border: 1px solid rgb(16, 12, 226);
}

.sub-container1 {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  overflow-x: unset;
}

.top-botton {
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.sub-container1-text-wrapper strong:nth-child(1) {
  font-size: 24px;
}
.sub-container1-text-wrapper strong:nth-child(2) {
  font-size: 29px;
}

.raku-ama-yaho {
  max-width: 460px;
}

.top-botton img {
  display: block;
}
.top-botton span {
  position: absolute;
  top: 50%;
  left: 60%;
  transform: translate(-50%, -50%);
  white-space: nowrap; 
  letter-spacing: 0px;
  color: #ffffff;
  font-size: 19px;
}

.highlight {
  color: #ffe100;
  font-style: normal;
  font-weight: 600; 
}

.sub-container1 ul {
  list-style: none;
  padding: 0;
  margin: 0;
  flex: 1;
  max-width: 1080px;
  text-align: center;
  overflow-x: unset;
  position: relative;
  left: 28px;
}
.sub-container1 li {
  font-size: 14px;
  overflow-x: unset;
}
.sub-container1-text-wrapper {
  display: flex;
  flex-direction: column;
  font-family: futura-pt, sans-serif;
}
.sub-container1-text-wrapper strong {
  display: inline-block;
  font-family: "Noto Sans JP", sans-serif;
}
.sub-container1 li:first-child {
  font-size: 40px;
  font-weight: 600;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  height: 113px;
}
.sub-container1 li:first-child span {
  color: #902121;
  font-size: 99px;
  padding-left: 1px;
}
.sub-container1 li:first-child .percentage {
  position: relative;
  top: 13px;
  color: #902121;
  font-size: 70px;
  padding-right: 5px;
  padding-left: 0;
  font-weight: 500;
}
.sub-container1 li:first-child .ninety {
  position: relative;
  top: 20px;
  font-weight: 500;
  font-family: futura-pt, sans-serif;
}
.sub-container1 li:nth-child(2) {
  font-size: 70px;
  font-weight: 600;
  display: flex;
  justify-content: center;
  align-items: center;
}
.sub-container1 li:nth-child(2) img {
  padding: 0 10px;
}
.sub-container1 li:nth-child(2) span {
  font-weight: 600;
}
.sub-container1 li:nth-child(3) {
  font-size: 26px;
  font-weight: 600;
}
.sub-container1 ul li:nth-child(4) a {
  position: relative;
  left: -30px;
}
.sub-container1 li:nth-child(4) a {
  max-width: 522px;

  margin-top: 32px;
  margin-bottom: 33px;
}
.sub-container1 li a {
  color: white;
}
.sub-container1 li a img {
  margin-right: 10px;
}
.sub-container1 > img {
  max-width: 54%;
  height: auto;
}

.ec-service-box {
  border: 1px solid #707070;
  padding: 18px 35px 29px 31px;
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;

  box-sizing: border-box;
  max-width: 488px;
}


.ec-service-box img {
  margin-bottom: 16px; 
  max-width: 100%;
  height: auto; 
}

.ec-service-box li {
  margin-bottom: 10px; 
  font-size: 16px; 
  line-height: 1.5; 
}

.ec-service-box li:last-child {
  margin-bottom: 0;
}


.ec-service-box li br {
  display: block; 
  content: ""; 
}


div.sub-container1 ul .ec-service-box .main-ec-text {
  font-size: 24px;
  font-weight: 600;
  color: #902121;
  margin-bottom: 22px;
  text-align: center;
}
div.sub-container1 ul .ec-service-box .secondary-ec-text {
  font-size: 18px;
  line-height: 31px;
  font-weight: 300;
  text-align: center;
}
@media (max-width: 1996px) {
  .container-top {
    padding-left: 40px;
    padding-right: 40px;
    border: 1px solid red;
  }
  .ec-service-box {
    padding: 18px 23px 29px 23px;
    box-sizing: border-box;
    max-width: 460px;
  }
  div.sub-container1 ul .ec-service-box .main-ec-text {
    font-size: 21px;
  }
  .top-botton span {
    left: 56%;
  }
}
@media (max-width: 1155px) {
  .sub-container1 > img {
    max-width: 51%;
    height: auto;
  }
  .ec-service-box {
    max-width: 432px;
  }
  .ec-service-box {
    margin: 0 auto;
  }
  .ec-service-box {
    max-width: 416px;
  }
  .top-botton span {
    font-size: 17px;
  }
}
@media (max-width: 1025px) {
  .sub-container1-text-wrapper strong:nth-child(1) {
    font-size: 20px;
  }
  .sub-container1-text-wrapper strong:nth-child(2) {
    font-size: 25px;
  }
  .sub-container1 li:first-child {
    font-size: 32px;
  }
  .sub-container1 li:nth-child(2) {
    font-size: 60px;
  }
  .sub-container1 li:nth-child(3) {
    font-size: 22px;
  }
  div.sub-container1 ul .ec-service-box .main-ec-text {
    font-size: 18px;
  }
  div.sub-container1 ul .ec-service-box .secondary-ec-text {
    font-size: 15px;
    line-height: 29px;
  }
  .ec-service-box img {
    margin-bottom: 14px;
  }
  .ec-service-box {
    max-width: 371px;
  }
  .sub-container1 li:first-child span {
    font-size: 94px;
  }
  .sub-container1 li:first-child .percentage {
    font-size: 62px;
  }
  .container-top {
    padding-left: 30px;
    padding-right: 30px;
  }
}

@media (max-width: 1000px) {
  .top-botton span {
    font-size: 15px;
  }
}
@media (max-width: 900px) {
  .sub-container1 {
    display: flex;
    align-items: center;
    justify-content: center;

    flex-direction: column;
  }
  .sub-container1 ul {
    order: 2;
  }
  .sub-container1 > img {
    order: 1;
    max-width: 90%;
  }
  .sub-container1 ul {
    left: 0;
  }
  .top-botton span {
    font-size: 18px;
  }
  .ec-service-box {
    max-width: 90%;
  }
} */

/* container top-image-full-width */
/* container top-image-full-width */

/* --- Sub-Container 1 --- */
.container-top {
  max-width: 1200px;
  margin: 0 auto;
  overflow: unset;
  padding-right: 0px;
  /* border: 1px solid rgb(16, 12, 226); */
}

.sub-container1 {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  overflow-x: unset;
}

.top-botton {
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

.sub-container1-text-wrapper strong:nth-child(1) {
  font-size: 24px;
}

.sub-container1-text-wrapper strong:nth-child(2) {
  font-size: 29px;
}

.raku-ama-yaho {
  max-width: 460px;
}

.top-botton img {
  display: block;
}

.top-botton span {
  position: absolute;
  top: 50%;
  left: 60%;
  transform: translate(-50%, -50%);
  white-space: nowrap;
  /* Prevent text from wrapping */
  letter-spacing: 0px;
  color: #ffffff;
  font-size: 19px;
}

.highlight {
  color: #ffe100;
  font-style: normal;
  /* cancels the default italic */
  font-weight: 600;
  /* optional */
}

.sub-container1 ul {
  list-style: none;
  padding: 0;
  margin: 0;
  flex: 1;
  max-width: 1080px;
  text-align: center;
  overflow-x: unset;
  position: relative;
  left: 1px;
}

.sub-container1 li {
  font-size: 14px;
  overflow-x: unset;
}

.sub-container1-text-wrapper {
  display: flex;
  flex-direction: column;
  font-family: futura-pt, sans-serif;
}

.sub-container1-text-wrapper strong {
  display: inline-block;
  font-family: "Noto Sans JP", sans-serif;
}

/* --- CSS SELECTORS UPDATED BELOW --- */

/* Style for the new first list item (the image) */
.sub-container1 li:first-child {
  margin-bottom: 1px; /* Added some space below the image */
}

/* Style for the "90%" text block (was :first-child) */
.sub-container1 li:nth-child(2) {
  font-size: 40px;
  font-weight: 600;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  height: 90px;
}

.sub-container1 li:nth-child(2) span {
  color: #902121;
  font-size: 99px;
  padding-left: 1px;
}

.sub-container1 li:nth-child(2) .percentage {
  position: relative;
  top: 13px;
  color: #902121;
  font-size: 70px;
  padding-right: 5px;
  padding-left: 0;
  font-weight: 500;
}

.sub-container1 li:nth-child(2) .ninety {
  position: relative;
  top: 20px;
  font-weight: 500;
  font-family: futura-pt, sans-serif;
}

/* Style for the "Otomo" text block (was :nth-child(2)) */
.sub-container1 li:nth-child(3) {
  font-size: 70px;
  font-weight: 600;
  display: flex;
  justify-content: center;
  align-items: center;
}

span.wpcf7-list-item-label {
  font-size: 13px;
  font-weight: 500;
}

.sub-container1 li:nth-child(3) img {
  padding: 0 10px;
}

.sub-container1 li:nth-child(3) span {
  font-weight: 600;
}

/* Style for the support text block (was :nth-child(3)) */
.sub-container1 li:nth-child(4) {
  font-size: 26px;
  font-weight: 600;
}

/* Style for the submit button (was incorrectly targeting :nth-child(4), now correctly targeting the 6th child) */
.sub-container1 ul li:nth-child(6) a {
  position: relative;
  left: 20px;
}

.sub-container1 li:nth-child(6) a {
  max-width: 522px;
  margin-top: 0px;
  margin-bottom: 33px;
  display: inline-block;
}

.sub-container1 li a {
  color: white;
}

.sub-container1 li a img {
  margin-right: 10px;
}

.sub-container1 > img {
  max-width: 54%;
  height: auto;
  padding-top: 22px;
}
.ec-service-box {
  border: 1px solid #707070;
  padding: 18px 35px 29px 31px;
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  box-sizing: border-box;
  max-width: 488px;
  margin: 0 auto; /* Added to center the box within its li */
}

/* Optional: Adjust spacing between items inside the box */
.ec-service-box img {
  margin-bottom: 16px;
  /* Space below the image */
  max-width: 100%;
  /* Ensure image is responsive within the box */
  height: auto;
  /* Maintain aspect ratio */
}

.ec-service-box li {
  margin-bottom: 10px;
  /* Space between list items */
  font-size: 16px;
  /* Adjust font size as needed */
  line-height: 1.5;
  /* Adjust line height for readability */
}

.ec-service-box li:last-child {
  margin-bottom: 0;
  /* Remove margin from the last list item */
}

/* Specific styling for the line break within the last li to maintain readability */
.ec-service-box li br {
  display: block;
  /* Ensures line break takes up space */
  content: "";
  /* Needed for some older browser compatibility or specific styling */
}
.privacy-link {
  color: #902121 !important;
  text-decoration: underline;
}
/* Base styles for the specific list item - INCREASED SPECIFICITY */
div.sub-container1 ul .ec-service-box .main-ec-text {
  font-size: 24px;
  font-weight: 600;
  color: #902121;
  margin-bottom: 22px;
  text-align: center;
}

div.sub-container1 ul .ec-service-box .secondary-ec-text {
  font-size: 18px;
  line-height: 31px;
  font-weight: 300;
  text-align: center;
}

@media (max-width: 1996px) {
  .container-top {
    padding-left: 40px;
    padding-right: 10px;
    /* border: 1px solid red; */
  }

  .ec-service-box {
    padding: 18px 23px 29px 23px;
    box-sizing: border-box;
    max-width: 460px;
  }

  div.sub-container1 ul .ec-service-box .main-ec-text {
    font-size: 21px;
  }

  .top-botton span {
    left: 56%;
  }
}

@media (max-width: 1155px) {
  .sub-container1 > img {
    max-width: 51%;
    height: auto;
  }

  .ec-service-box {
    max-width: 432px;
  }

  .ec-service-box {
    margin: 0 auto;
  }

  .ec-service-box {
    max-width: 416px;
  }

  .top-botton span {
    font-size: 17px;
  }
}
@media (max-width: 1100px) {
  #top-analysis-form .wpcf7-form-control-wrap[data-name="your-acceptance"] {
    font-size: 13px;
  }
}

@media (max-width: 1025px) {
  .sub-container1-text-wrapper strong:nth-child(1) {
    font-size: 20px;
  }

  .sub-container1-text-wrapper strong:nth-child(2) {
    font-size: 25px;
  }

  .sub-container1 li:nth-child(2) {
    /* UPDATED */
    font-size: 32px;
  }

  .sub-container1 li:nth-child(3) {
    /* UPDATED */
    font-size: 60px;
  }

  .sub-container1 li:nth-child(4) {
    /* UPDATED */
    font-size: 22px;
  }

  div.sub-container1 ul .ec-service-box .main-ec-text {
    font-size: 18px;
  }

  div.sub-container1 ul .ec-service-box .secondary-ec-text {
    font-size: 15px;
    line-height: 29px;
  }

  .ec-service-box img {
    margin-bottom: 14px;
  }

  .ec-service-box {
    max-width: 371px;
  }

  .sub-container1 li:nth-child(2) span {
    /* UPDATED */
    font-size: 94px;
  }

  .sub-container1 li:nth-child(2) .percentage {
    /* UPDATED */
    font-size: 62px;
  }

  .container-top {
    padding-left: 30px;
    padding-right: 30px;
  }
}

@media (max-width: 1000px) {
  .top-botton span {
    font-size: 15px;
  }
}

@media (max-width: 900px) {
  .sub-container1 {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
  }

  .sub-container1 ul {
    order: 2;
  }

  .sub-container1 > img {
    order: 1;
    max-width: 90%;
  }

  .sub-container1 ul {
    left: 0;
  }

  .top-botton span {
    font-size: 18px;
  }

  .ec-service-box {
    max-width: 90%;
  }
}
@media (min-width: 551px) {
  .ec-service-box {
    display: none;
  }
}
@media (max-width: 550px) {
  #top-analysis-form {
    display: none;
  }
  .ec-service-box {
    display: block;
  }
}

/* Top Mail part page Mail part button css */
/* Top Mail part page Mail part button css */
/* Top Mail part page Mail part button css */
/* Top Mail part page Mail part button css */
/* Top Mail part page Mail part button css */
/* Top Mail part page Mail part button css */
/* Top Mail part page Mail part button css */
/* Top Mail part page Mail part button css */
/* Top Mail part page Mail part button css */
/* Top Mail part page Mail part button css */

/*
================================================
CSS for the Top Page Analysis Form (#top-analysis-form)
================================================
*/

/* This targets the <li> you wrapped the form in.
   We remove the bullet point since it's used as a container. */
#top-analysis-form {
  list-style-type: none;
  padding: 0;
  margin: 0;
  margin-top: 28px;
  margin-left: 33px;
}

/* By default, Contact Form 7 wraps each field in a <p> tag.
       We turn this <p> tag into a flexible box to create the side-by-side layout. */
#top-analysis-form p {
  display: flex;
  align-items: center;
  margin-bottom: 10px;
  font-size: 15px;
  letter-spacing: 1.5px;
}

/* This styles all the labels (e.g., "会社名*", "お名前*") */
#top-analysis-form label {
  width: 103px;
  flex-shrink: 0;
  text-align: right;
  margin-right: 8px;
  display: flex;
  max-width: 100%;
  font-weight: 500;
}
#top-analysis-form .wpcf7-acceptance label {
  display: contents;
}
#top-analysis-form .wpcf7-form-control-wrap[data-name="your-acceptance"] {
  margin-left: 170px;
}
span.wpcf7-form-control.wpcf7-acceptance {
  letter-spacing: 0.5px;
}
/* This styles all the text input boxes */
#top-analysis-form input[type="text"],
#top-analysis-form input[type="email"],
#top-analysis-form input[type="tel"] {
  width: 100%; /* Makes the input box fill all available horizontal space */
  padding: 10px; /* Adds comfortable space inside the input box */
  border: 1px solid #ccc; /* Creates the thin, light-grey border */
  border-radius: 4px; /* Makes the corners of the box slightly rounded */
}
#top-analysis-form p:last-of-type {
  display: none;
}
/* --- Special styles for the checkbox row --- */

/* The acceptance checkbox row is different because it has no label on the left.
       To make it line up with the input boxes above it, we push it to the right. */
#top-analysis-form .wpcf7-form-control-wrap[data-name="your-acceptance"] {
  margin-left: 116px;
}
.required {
  color: #902121;
}
/* Styles the checkbox itself to have some space */
#top-analysis-form input[type="checkbox"] {
  margin-right: -3px;
}

/* Makes the link text for the privacy policy look like a link */
#top-analysis-form .wpcf7-acceptance a {
  color: #000; /* You can change this color */
  text-decoration: underline;
  font-weight: 500;
}

@media (max-width: 550px) {
  #top-analysis-form {
    margin-left: 0px;
  }
  .sub-container1 ul li:nth-child(6) a {
    left: auto;
  }
  .sub-container1 > img {
    max-width: 51%;
    height: auto;
  }
  .sub-container1 > img {
    order: 1;
    max-width: 100%;
  }
  img.raku-ama-yaho {
    display: none;
  }
  .sub-container1-text-wrapper strong:nth-child(1) {
    font-size: 19px;
  }
  .sub-container1-text-wrapper strong:nth-child(2) {
    font-size: 22px;
  }
  .sub-container1 li:nth-child(2) span {
    font-size: 72px;
  }
  .sub-container1 li:nth-child(2) .percentage {
    font-size: 51px;
  }
  .sub-container1 li:nth-child(2) {
    font-size: 23px;
  }
  .sub-container1-text-wrapper {
    line-height: 23px;
  }
  .sub-container1 li:nth-child(3) {
    font-size: 44px;
  }
  .sub-container1 li:nth-child(3) img {
    max-width: 146px;
  }
  .sub-container1 li:nth-child(4) {
    font-size: 20px;
  }
  .top-botton span {
    font-size: 14px;
  }
  .sub-container1 li:nth-child(6) a {
    margin-top: 25px;
    margin-bottom: 30px;
  }
  .sub-container1 ul {
    left: 0;
    padding: 0 22px;
  }
  .ec-service-box {
    max-width: 100%;
    padding: 18px 23px 23px 23px;
  }
  div.sub-container1 ul .ec-service-box .main-ec-text {
    margin-bottom: 17px;
  }
  .ec-service-box img {
    margin-bottom: 7px;
  }
  div.sub-container1 ul .ec-service-box .secondary-ec-text {
    line-height: 24px;
  }
  .sub-container1 li:nth-child(2) {
    height: 60px;
  }
}

@media (max-width: 490px) {
  .top-botton span {
    font-size: 13px;
  }
}
@media (max-width: 385px) {
  .top-botton span {
    font-size: 13px;
  }
}

/* End top page Mail part button css */
/* End top page Mail part button css */
/* End top page Mail part button css */
/* End top page Mail part button css */
/* End top page Mail part button css */
/* End top page Mail part button css */
/* End top page Mail part button css */
/* End top page Mail part button css */
/* End top page Mail part button css */
/*
  ================================================
  End CSS for the Top Page Analysis Form (#top-analysis-form)
  ================================================
  */

/* --- END Sub-Container 1 --- */
/* --- END Sub-Container 1 --- */
/* --- END Sub-Container 1 --- */
/* --- END Sub-Container 1 --- */
/* --- END Sub-Container 1 --- */
/* --- END Sub-Container 1 --- */
/* --- END Sub-Container 1 --- */
/* --- END Sub-Container 1 --- */
/* --- END Sub-Container 1 --- */
/* --- END Sub-Container 1 --- */

/* --- Sub-Container 2 --- */
/* --- Sub-Container 2 --- */
/* --- Sub-Container 2 --- */
/* --- Sub-Container 2 --- */
/* --- Sub-Container 2 --- */
/* --- Sub-Container 2 --- */
/* --- Sub-Container 2 --- */
/* --- Sub-Container 2 --- */
/* --- Sub-Container 2 --- */
/* --- Sub-Container 2 --- */
/* --- Sub-Container 2 --- */
/* --- Sub-Container 2 --- */
/* --- Sub-Container 2 --- */
/* --- Sub-Container 2 --- */
/* --- Sub-Container 2 --- */
/* --- Sub-Container 2 --- */
/* --- Sub-Container 2 --- */
/* --- Sub-Container 2 --- */
/* --- Sub-Container 2 --- */
/* --- Sub-Container 2 --- */
/* --- Sub-Container 2 --- */
/* --- Sub-Container 2 --- */
/* --- Sub-Container 2 --- */
/* --- Sub-Container 2 --- */
/* --- Sub-Container 2 --- */
/* --- Sub-Container 2 --- */
/* --- Sub-Container 2 --- */
/* --- Sub-Container 2 --- */
/* --- Sub-Container 2 --- */
/* --- Sub-Container 2 --- */
/* --- Sub-Container 2 --- */
/* --- Sub-Container 2 --- */
/* --- Sub-Container 2 --- */
/* --- Sub-Container 2 --- */
/* --- Sub-Container 2 --- */
/* --- Sub-Container 2 --- */
.sub-container2 {
  margin-top: 45px;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 86px;
  padding-left: 64px;
}
.sub-container2 ul {
  list-style: none;
  padding: 0;
  margin: 0;
  flex: 1;
  max-width: 1080px;
  text-align: left;
}
.sub-container2 ul li:nth-child(1) {
  color: #902121;
  font-size: 20px;
  font-family: futura-pt, sans-serif;
  font-weight: 500;
}
.sub-container2 ul li:nth-child(2) {
  font-size: 25px;
  margin: 14px 0;
  font-weight: 600;
}
.sub-container2 ul li:nth-child(3) {
  font-size: 40px;
  font-weight: 600;
  margin-bottom: 24px;
}
.sub-container2 ul li:nth-child(4) {
  font-size: 15px;
  font-weight: 600;
  line-height: 30px;
}
.sub-container2 .text-image-wrapper {
  display: inline-block;
  position: relative;
  top: -22px;
}
.sub-container2 .text-image-wrapper img {
  max-width: 437px;
}
.sub-container2 .text-image-wrapper::before,
.sub-container2 .text-image-wrapper::after {
  position: absolute;
  white-space: pre;
  font-size: 20px;
  font-weight: 600;
  text-align: center;
  color: #43240e;
}
.sub-container2 .text-image-wrapper::before {
  top: 22px;
}
.text-image-wrapper::before {
  content: "モモタロウ\A（御社）";
  top: 44px;
  left: 80%;
  transform: translateX(-50%);
}
.text-image-wrapper::after {
  content: "イヌ・サル・キジ \A(弊社スタッフ）";
  bottom: -65px;
  left: 50%;
  transform: translateX(-50%);
}
@media (max-width: 550px) {
  .container-top .arrow-icon img {
    width: 14px;
    height: 14px;
  }
  .container-top .button-text {
    left: 19px;
  }
}
/* Top button last container button */
/* Top button last container button */
/* Top button last container button */
/* Top button last container button */
.contact-button {
  display: flex; /* Use flexbox for alignment */
  align-items: center; /* Vertically center items */
  justify-content: center; /* Horizontally center items */
  position: relative; /* Needed for absolute positioning of character illustration */
  max-width: 478px; /* Adjust width as needed */
  height: 86px; /* Adjust height as needed */
  background-color: #902120; /* Deep red color */
  border-radius: 50px; /* Highly rounded corners */
  text-decoration: none; /* Remove underline from link */
  color: #fff; /* White text color */
  font-size: 28px; /* Adjust font size as needed */
  font-weight: bold;
  padding: 0 40px; /* Add some padding on the sides */
  box-sizing: border-box; /* Include padding in the element's total width and height */
  margin-top: 60px;
  margin-bottom: 65px;
  margin-left: auto;
  margin-right: auto;
  overflow: visible;
}

.character-illustration {
  position: absolute; /* Position relative to .contact-button */
  left: 20px; /* Adjust position from the left */
  top: -10px; /* Move it up above the button */
  z-index: 1; /* Ensure it's above the button background */
  width: 82px; /* Adjust size of the character image */
}

.character-illustration img {
  display: block; /* Remove extra space below image */
  width: 100%;
  height: auto;
}

.button-text {
  /* No specific styling needed here as flexbox handles centering */
  margin-left: 75px; /* Adjust margin to move text to the right of the character */
  margin-right: 0px; /* Space between text and arrow */
  color: white;
  font-size: 21px;
  font-weight: 600;
}

.arrow-icon {
  display: flex; /* Use flexbox for the icon to ensure it aligns well */
  align-items: center; /* Center the icon vertically */
  margin-left: auto; /* Push the arrow to the right */
}

.arrow-icon img {
  width: 24px; /* Adjust size of the small arrow icon */
  height: 24px;
  display: block;
}
/* Top button last container button */
/* Top button last container button */
/* Top button last container button */
/* Top button last container button */

@media (max-width: 1199px) {
  .for_pink_backgroud1 {
    background: #faf8f0;
    border-radius: 85% 85% 0 0 / 200px 200px 0 0;
  }
}
@media (max-width: 1012px) {
  .sub-container2 {
    gap: 36px;
    padding-left: 0px;
    margin-top: 102px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 86px;
    padding-left: 64px;
  }
}

@media (max-width: 900px) {
  .sub-container2 {
    flex-direction: column;
    margin-top: 50px;
    padding-left: 0px;
    gap: 55px;
  }
  .sub-container2 ul {
    margin-top: 50px;
  }

  .sub-container2 ul li:nth-child(4) {
    text-align: center;
  }
  .sub-container2 ul li:nth-child(1),
  .sub-container2 ul li:nth-child(2),
  .sub-container2 ul li:nth-child(3) {
    text-align: center;
  }
  .sub-container1 ul li:nth-child(4) a {
    left: 0px;
  }
}
@media (max-width: 800px) {
  .for_pink_backgroud1 {
    border-radius: 120% 120% 0 0 / 160px 160px 0 0;
  }
}
@media (max-width: 718px) {
  .sub-container2 ul li:nth-child(2) {
    font-size: 22px;
  }
  .sub-container2 ul li:nth-child(3) {
    font-size: 35px;
  }
}
@media (min-width: 551px) {
  .sp-onlyanime {
    display: none;
  }
  .ec-service-box {
    display: none;
  }
}

@media (max-width: 550px) {
  .top-image-full-width {
    padding-left: 0;
    padding-right: 0;
  }

  .button-icon {
    width: 21px;
  }
  .sub-container2 .text-image-wrapper {
    max-width: 274px;
  }
  .sub-container2 .text-image-wrapper img {
    max-width: 100%;
  }
  .sub-container2 ul {
    margin-top: 72px;
    padding-left: 30px;
    padding-right: 30px;
  }
  .sub-container2 ul li:nth-child(2) {
    font-size: 25px;
    margin: 10px 0;
  }
  .sub-container2 ul li:nth-child(4) br {
    display: none;
  }
  .sub-container2 ul li:nth-child(4) {
    margin-bottom: 0px;
    padding: 0 15px;
    text-align: center;
  }
  .sub-container2 .text-image-wrapper::before,
  .sub-container2 .text-image-wrapper::after {
    font-size: 15px;
  }
  .text-image-wrapper::before {
    top: 23px;
    left: 84%;
  }
  .text-image-wrapper::after {
    bottom: -50px;
    left: 52%;
  }

  .sp-onlyanime {
    display: block;
  }
  .sub-container2 .text-image-wrapper {
    display: inline-block;
    position: relative;
    top: 10px;
  }
  .sub-container2 ul {
    margin-top: 40px;
  }
  .button-text {
    font-size: 15px;
  }
  .contact-button {
    height: 65px;
    max-width: 317px;
  }
  .button-text {
    font-size: 15px;
    margin-left: 16px;
    position: relative;
    left: 11px;
  }
  .arrow-icon {
    left: 19px;
    position: relative;
  }
  .character-illustration {
    left: 6px;
    top: -7px;
  }
  .contact-button {
    margin-top: 26px;
    margin-bottom: 42px;
  }
  .for_pink_backgroud1 {
    background: #faf8f0;
    border-radius: 175% 175% 0 0 / 200px 200px 0 0;
  }
}

/* END container top-image-full-width */
/* END container top-image-full-width */
/* END container top-image-full-width */
/* END container top-image-full-width */
/* END container top-image-full-width */
/* END container top-image-full-width */
/* END container top-image-full-width */
