:root {
  --color-main: #f44e4e;
  --color-white: #FFFFFF;
}

/* ******************************
 *
 * RESPONSIVE MIXIN
 *
 * ****************************** */
/* ******************************
 *
 * FONT SETTINGS
 *
 * ****************************** */
@font-face {
  font-family: "Chillax";
  src: url("../fonts/Chillax-Light.eot") format("embedded-opentype"), url("../fonts/Chillax-Light.ttf") format("truetype"), url("../fonts/Chillax-Light.woff") format("woff"), url("../fonts/Chillax-Light.woff2") format("woff2");
  font-weight: 300;
}
@font-face {
  font-family: "Chillax";
  src: url("../fonts/Chillax-Regular.eot") format("embedded-opentype"), url("../fonts/Chillax-Regular.ttf") format("truetype"), url("../fonts/Chillax-Regular.woff") format("woff"), url("../fonts/Chillax-Regular.woff2") format("woff2");
  font-weight: 400;
}
@font-face {
  font-family: "Chillax";
  src: url("../fonts/Chillax-Medium.eot") format("embedded-opentype"), url("../fonts/Chillax-Medium.ttf") format("truetype"), url("../fonts/Chillax-Medium.woff") format("woff"), url("../fonts/Chillax-Medium.woff2") format("woff2");
  font-weight: 500;
}
@font-face {
  font-family: "Chillax";
  src: url("../fonts/Chillax-Semibold.eot") format("embedded-opentype"), url("../fonts/Chillax-Semibold.ttf") format("truetype"), url("../fonts/Chillax-Semibold.woff") format("woff"), url("../fonts/Chillax-Semibold.woff2") format("woff2");
  font-weight: 600;
}
@font-face {
  font-family: "Chillax";
  src: url("../fonts/Chillax-Bold.eot") format("embedded-opentype"), url("../fonts/Chillax-Bold.ttf") format("truetype"), url("../fonts/Chillax-Bold.woff") format("woff"), url("../fonts/Chillax-Bold.woff2") format("woff2");
  font-weight: 700;
}
@font-face {
  font-family: "Quentin";
  src: url("../fonts/Quentin.ttf") format("truetype");
}
/* ******************************
 *
 * FONT SETTINGS
 *
 * ****************************** */
.consulFv {
  position: relative;
  width: 100vw;
  height: 100svh;
  overflow-x: clip;
}
@media screen and (min-width: 320px) {
  .consulFv {
    padding: 15vh 2.5vw 10svh;
  }
}
@media screen and (min-width: 1025px) {
  .consulFv {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    padding: 0 1.7vw 10svh 2.2vw;
  }
}

.fvTitle {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 320px) {
  .fvTitle {
    width: 100%;
    font-size: 4rem;
  }
}
@media screen and (min-width: 1025px) {
  .fvTitle {
    width: 171svh;
    font-size: 15rem;
    margin: 0 auto;
  }
  .fvTitle .middle, .fvTitle .bottom {
    line-height: 1.333;
  }
  .fvTitle .middle {
    margin-top: 8svh;
  }
  .fvTitle .bottom {
    margin-right: -4vw;
    margin-left: auto;
  }
}
@media screen and (min-width: 1500px) {
  .fvTitle {
    font-size: 13.9svh;
  }
}

.fvTitleWrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  white-space: nowrap;
}
@media screen and (min-width: 320px) {
  .fvTitleWrapper {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    margin-left: 9vw;
  }
}
@media screen and (min-width: 1025px) {
  .fvTitleWrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-left: auto;
  }
}

.fvCopy {
  z-index: 1;
  white-space: nowrap;
}
@media screen and (min-width: 320px) {
  .fvCopy {
    position: relative;
    font-size: 1.4rem;
    margin: 7svh 0vw 0 45vw;
  }
}
@media screen and (min-width: 1025px) {
  .fvCopy {
    position: absolute;
    bottom: 11.8svh;
    left: 58vw;
    font-size: 2.22svh;
    line-height: 1.8;
    margin: unset;
  }
}
@media screen and (min-width: 320px) {
  .fvCopy .bottom {
    margin-left: 8rem;
  }
}
@media screen and (min-width: 1025px) {
  .fvCopy .bottom {
    margin-left: 15.6svh;
  }
}

.fvCopyEn {
  pointer-events: none;
}
@media screen and (min-width: 320px) {
  .fvCopyEn {
    width: 18rem;
    margin: -12svh 0 0 30vw;
  }
}
@media screen and (min-width: 1025px) {
  .fvCopyEn {
    position: absolute;
    bottom: 8.3svh;
    right: 30.3vw;
    width: 41rem;
    margin: unset;
  }
}

.fvImgWrapper {
  position: absolute;
  bottom: 13svh;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  max-width: 96.2%;
}
@media screen and (min-width: 320px) {
  .fvImgWrapper {
    width: 95%;
  }
}
@media screen and (min-width: 1025px) {
  .fvImgWrapper {
    width: 171svh;
    padding: 0 0.5vw;
  }
}

.fvImg {
  aspect-ratio: 9/4;
}
@media screen and (min-width: 320px) {
  .fvImg {
    width: 32.5rem;
    border-radius: 3.2rem;
  }
}
@media screen and (min-width: 1025px) {
  .fvImg {
    width: 49.25%;
    border-radius: 6.4rem;
  }
}
.fvImg:nth-of-type(1) {
  margin-left: auto;
}
@media screen and (min-width: 320px) {
  .fvImg:nth-of-type(2) {
    margin-top: 1rem;
  }
}
@media screen and (min-width: 1025px) {
  .fvImg:nth-of-type(2) {
    margin-top: -4.5rem;
  }
}

.consulFeature {
  position: relative;
}
@media screen and (min-width: 320px) {
  .consulFeature {
    padding: 0 5vw;
  }
}
@media screen and (min-width: 1025px) {
  .consulFeature {
    padding: 8.2rem 10.2vw 0 5vw;
  }
}
@media screen and (min-width: 320px) {
  .consulFeature .sectionTitle {
    text-align: center;
  }
}
@media screen and (min-width: 1025px) {
  .consulFeature .sectionTitle {
    text-align: left;
  }
}
@media screen and (min-width: 320px) {
  .consulFeature .sectionCopy {
    margin: 0.5rem 0 3rem;
    text-align: center;
  }
}
@media screen and (min-width: 1025px) {
  .consulFeature .sectionCopy {
    margin: 2.5rem 0 9.4rem -4.2rem;
    line-height: 1.67;
    text-align: left;
  }
}
@media screen and (min-width: 1025px) {
  .consulFeature .sectionCopy .small {
    margin-left: 3.8rem;
  }
}

.featureTextWrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (min-width: 320px) {
  .featureTextWrapper {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
@media screen and (min-width: 1025px) {
  .featureTextWrapper {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

.sectionTitle {
  color: #f44e4e;
}
@media screen and (min-width: 320px) {
  .sectionTitle {
    font-size: 1.3rem;
    letter-spacing: 0.08rem;
    line-height: 1.6;
  }
}
@media screen and (min-width: 1025px) {
  .sectionTitle {
    font-size: 2.4rem;
    letter-spacing: 0.1rem;
    line-height: 1.8;
  }
}

.sectionCopy {
  font-weight: 700;
}
@media screen and (min-width: 320px) {
  .sectionCopy {
    font-size: 2.8rem;
    margin-top: 1rem;
    letter-spacing: 0.05rem;
  }
}
@media screen and (min-width: 1025px) {
  .sectionCopy {
    font-size: 8rem;
    margin-top: 4rem;
    letter-spacing: 0.15rem;
  }
}
.sectionCopy .small {
  font-size: 80%;
}

.featureAbout {
  opacity: 0.8;
  line-height: 1.75;
}
@media screen and (min-width: 320px) {
  .featureAbout {
    width: 100%;
    font-size: 1.3rem;
    letter-spacing: 0.02rem;
    text-align: center;
  }
}
@media screen and (min-width: 1025px) {
  .featureAbout {
    width: auto;
    font-size: 1.8rem;
    letter-spacing: 0.04rem;
    text-align: left;
  }
}

.featureList {
  display: grid;
}
@media screen and (min-width: 320px) {
  .featureList {
    grid-template-columns: repeat(1, 1fr);
    padding: 3rem 0 0;
    gap: 1.2rem 0;
  }
}
@media screen and (min-width: 1025px) {
  .featureList {
    grid-template-columns: repeat(2, 1fr);
    padding: 11.2rem 2.5vw 0 7.7vw;
    gap: 2.4rem;
  }
}

.featureItem {
  background: #f44e4e;
}
@media screen and (min-width: 320px) {
  .featureItem {
    padding: 1.5rem 2rem 2rem;
    border-radius: 1rem;
  }
}
@media screen and (min-width: 1025px) {
  .featureItem {
    padding: 2.4rem 3.2rem 3.2rem;
    border-radius: 2rem;
  }
}
.featureItem .itemNum {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-family: "Chillax", sans-serif;
  font-weight: 500;
  color: #f44e4e;
  background: #FFFFFF;
  border-radius: 2rem;
}
@media screen and (min-width: 320px) {
  .featureItem .itemNum {
    font-size: 1.1rem;
    padding: 0.2rem 1rem;
    letter-spacing: 0.08rem;
  }
}
@media screen and (min-width: 1025px) {
  .featureItem .itemNum {
    font-size: 1.6rem;
    padding: 0.6rem 1.8rem;
    letter-spacing: 0.14rem;
  }
}
.featureItem .itemTitle {
  color: #FFFFFF;
}
@media screen and (min-width: 320px) {
  .featureItem .itemTitle {
    font-size: 1.6rem;
    margin-top: 1.6rem;
    letter-spacing: 0.1rem;
  }
}
@media screen and (min-width: 1025px) {
  .featureItem .itemTitle {
    font-size: 2.4rem;
    margin-top: 2.4rem;
    letter-spacing: 0.2rem;
  }
}
.featureItem .itemDesc {
  color: #FFFFFF;
  opacity: 0.8;
  line-height: 1.7;
}
@media screen and (min-width: 320px) {
  .featureItem .itemDesc {
    font-size: 1.2rem;
    margin-top: 1rem;
    letter-spacing: 0.08rem;
  }
}
@media screen and (min-width: 1025px) {
  .featureItem .itemDesc {
    font-size: 1.8rem;
    margin-top: 1.6rem;
    letter-spacing: 0.14rem;
  }
}

.pageName {
  position: absolute;
  font-family: "Chillax", sans-serif;
  font-weight: 500;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  line-height: 1.6;
  white-space: nowrap;
}
@media screen and (min-width: 320px) {
  .pageName {
    bottom: 13svh;
    right: 2.5vw;
    font-size: 1rem;
  }
}
@media screen and (min-width: 1025px) {
  .pageName {
    bottom: -28.2rem;
    right: 4.8vw;
    font-size: 1.4rem;
    letter-spacing: 0.03rem;
  }
}

.consulAbout {
  position: relative;
  overflow-x: clip;
}
@media screen and (min-width: 320px) {
  .consulAbout {
    padding: 8rem 5vw 0;
  }
}
@media screen and (min-width: 1025px) {
  .consulAbout {
    padding: 23.5rem 5vw 0;
  }
}
.consulAbout .sectionTitle {
  text-align: right;
}
.consulAbout .sectionCopy {
  text-align: right;
}
@media screen and (min-width: 1025px) {
  .consulAbout .sectionCopy {
    margin-right: -2.5vw;
  }
}

.aboutList {
  display: grid;
}
@media screen and (min-width: 320px) {
  .aboutList {
    grid-template-columns: repeat(1, 1fr);
    gap: 1.2rem 0;
    margin-top: 3rem;
  }
}
@media screen and (min-width: 1025px) {
  .aboutList {
    grid-template-columns: repeat(3, 1fr);
    gap: 6.4rem 3.6rem;
    margin-top: 20.6rem;
  }
}

.aboutItem {
  position: relative;
  background: #FFFFFF;
}
@media screen and (min-width: 320px) {
  .aboutItem {
    padding: 1.5rem 2rem 2rem;
    border-radius: 1.6rem;
  }
}
@media screen and (min-width: 1025px) {
  .aboutItem {
    padding: 3.6rem 4rem 4.8rem;
    border-radius: 3.2rem;
  }
}
.aboutItem::before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background: linear-gradient(100deg, rgb(244, 78, 78) 0%, rgb(138, 201, 248) 100%);
  z-index: -1;
  opacity: 0.2;
  -webkit-filter: blur(30px);
          filter: blur(30px);
}
@media screen and (min-width: 320px) {
  .aboutItem::before {
    border-radius: 1.6rem;
  }
}
@media screen and (min-width: 1025px) {
  .aboutItem::before {
    border-radius: 3.2rem;
  }
}
.aboutItem .itemTitleWrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 320px) {
  .aboutItem .itemTitleWrapper {
    gap: 0 1rem;
  }
}
@media screen and (min-width: 1025px) {
  .aboutItem .itemTitleWrapper {
    gap: 0 2rem;
  }
}
.aboutItem .itemIcon {
  fill: #f44e4e;
}
@media screen and (min-width: 320px) {
  .aboutItem .itemIcon {
    width: 2.5rem;
  }
}
@media screen and (min-width: 1025px) {
  .aboutItem .itemIcon {
    width: 5rem;
  }
}
.aboutItem .itemTitle {
  color: #f44e4e;
}
@media screen and (min-width: 320px) {
  .aboutItem .itemTitle {
    font-size: 1.8rem;
  }
}
@media screen and (min-width: 1025px) {
  .aboutItem .itemTitle {
    font-size: 3rem;
  }
}
.aboutItem .itemImg {
  aspect-ratio: 59/35;
}
@media screen and (min-width: 320px) {
  .aboutItem .itemImg {
    border-radius: 1rem;
    margin-top: 2rem;
  }
}
@media screen and (min-width: 1025px) {
  .aboutItem .itemImg {
    border-radius: 2rem;
    margin-top: 5.2rem;
  }
}
@media screen and (min-width: 320px) {
  .aboutItem .itemCopy {
    font-size: 1.6rem;
    margin-top: 1.6rem;
    letter-spacing: 0.02rem;
    line-height: 1.6;
  }
}
@media screen and (min-width: 1025px) {
  .aboutItem .itemCopy {
    font-size: 2.4rem;
    margin-top: 5.2rem;
    letter-spacing: 0.06rem;
    line-height: 1.8;
  }
}
.aboutItem .itemDesc {
  opacity: 0.8;
  line-height: 1.75;
}
@media screen and (min-width: 320px) {
  .aboutItem .itemDesc {
    font-size: 1.2rem;
    margin-top: 1rem;
    letter-spacing: 0.02rem;
  }
}
@media screen and (min-width: 1025px) {
  .aboutItem .itemDesc {
    font-size: 1.8rem;
    margin-top: 2.1rem;
    letter-spacing: 0.04rem;
  }
}

.aboutBgText {
  position: absolute;
  font-family: "Chillax", sans-serif;
  background-image: url(../img/consulting/text_texture.webp);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-position: center;
  opacity: 0.2;
  z-index: -1;
  line-height: 1.05;
}
@media screen and (min-width: 320px) {
  .aboutBgText {
    top: 5rem;
    left: 1.5vw;
    font-size: 3rem;
    letter-spacing: 0.07rem;
  }
}
@media screen and (min-width: 1025px) {
  .aboutBgText {
    top: 20.4rem;
    left: 1.5vw;
    font-size: 30rem;
    letter-spacing: 0.75rem;
  }
}
@media screen and (min-width: 320px) {
  .aboutBgText .bottom {
    margin-left: 10vw;
  }
}
@media screen and (min-width: 1025px) {
  .aboutBgText .bottom {
    margin-left: 21vw;
  }
}

.aboutBgSvg {
  position: absolute;
  -webkit-filter: blur(20px);
          filter: blur(20px);
  opacity: 0.15;
  -webkit-transform: rotate(-14deg);
          transform: rotate(-14deg);
  z-index: -1;
}
@media screen and (min-width: 320px) {
  .aboutBgSvg:nth-of-type(1) {
    width: 5rem;
    bottom: 3rem;
    right: 0;
  }
}
@media screen and (min-width: 1025px) {
  .aboutBgSvg:nth-of-type(1) {
    width: 50rem;
    bottom: 26rem;
    right: 0;
  }
}
@media screen and (min-width: 320px) {
  .aboutBgSvg:nth-of-type(2) {
    width: 3rem;
    bottom: 0;
    right: 10vw;
  }
}
@media screen and (min-width: 1025px) {
  .aboutBgSvg:nth-of-type(2) {
    width: 37rem;
    bottom: -13rem;
    right: 27vw;
  }
}

.consulImgWrapper {
  position: relative;
}
@media screen and (min-width: 320px) {
  .consulImgWrapper {
    margin-top: 4rem;
  }
}
@media screen and (min-width: 1025px) {
  .consulImgWrapper {
    margin-top: 7.6rem;
  }
}

.consulImgText {
  position: absolute;
  top: 50%;
  left: 50%;
  font-family: "Chillax", sans-serif;
  font-weight: 600;
  color: #FFFFFF;
  white-space: nowrap;
}
@media screen and (min-width: 320px) {
  .consulImgText {
    font-size: 3rem;
    letter-spacing: 0.2rem;
    -webkit-transform: translate(-50%, -100%);
            transform: translate(-50%, -100%);
  }
}
@media screen and (min-width: 1025px) {
  .consulImgText {
    font-size: 12rem;
    letter-spacing: 0.6rem;
    -webkit-transform: translate(-50%, -58%);
            transform: translate(-50%, -58%);
  }
}

.consulImg {
  aspect-ratio: 960/637;
}

.consulCase {
  position: relative;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(42%, #FFFFFF), to(#f44e4e));
  background: linear-gradient(to bottom, #FFFFFF 42%, #f44e4e);
  border-bottom: 1px solid #FFFFFF;
}
@media screen and (min-width: 320px) {
  .consulCase {
    padding: 5rem 0;
    margin-top: -5rem;
    border-top-left-radius: 3.2rem;
  }
}
@media screen and (min-width: 1025px) {
  .consulCase {
    padding: 19rem 0 20rem;
    margin-top: -11.7rem;
    border-top-left-radius: 6.4rem;
  }
}
.consulCase::before {
  position: absolute;
  content: "";
  bottom: 100%;
  right: 0;
  border-radius: 50%;
}
@media screen and (min-width: 320px) {
  .consulCase::before {
    width: 6rem;
    height: 6rem;
    -webkit-box-shadow: 3rem 3rem 0 0 #FFFFFF;
            box-shadow: 3rem 3rem 0 0 #FFFFFF;
  }
}
@media screen and (min-width: 1025px) {
  .consulCase::before {
    width: 12rem;
    height: 12rem;
    -webkit-box-shadow: 6rem 6rem 0 0 #FFFFFF;
            box-shadow: 6rem 6rem 0 0 #FFFFFF;
  }
}

.caseTop {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}
@media screen and (min-width: 320px) {
  .caseTop {
    padding: 0 5vw 3rem;
  }
}
@media screen and (min-width: 1025px) {
  .caseTop {
    padding: 0 10vw 14.6rem;
  }
}

.consulValue {
  background: #f44e4e;
  border-bottom: 1px solid #FFFFFF;
}
@media screen and (min-width: 320px) {
  .consulValue {
    padding: 5rem 5vw;
  }
}
@media screen and (min-width: 1025px) {
  .consulValue {
    padding: 15rem 5vw 20rem;
  }
}
.consulValue .sectionTitle, .consulValue .sectionCopy {
  color: #FFFFFF;
}

.valueWrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (min-width: 320px) {
  .valueWrapper {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 3.5rem 0 0;
  }
}
@media screen and (min-width: 1025px) {
  .valueWrapper {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding: 14rem 5vw 0;
  }
}

.valueImg {
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
@media screen and (min-width: 320px) {
  .valueImg {
    width: 80%;
  }
}
@media screen and (min-width: 1025px) {
  .valueImg {
    width: 38.8%;
  }
}

.consulInterview {
  background: #f44e4e;
  border-bottom: 1px solid #FFFFFF;
}
@media screen and (min-width: 320px) {
  .consulInterview {
    padding: 5rem 0;
  }
}
@media screen and (min-width: 1025px) {
  .consulInterview {
    padding: 15rem 0 19rem;
  }
}
.consulInterview .sectionTitle, .consulInterview .sectionCopy {
  color: #FFFFFF;
}

.interviewTop {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}
@media screen and (min-width: 320px) {
  .interviewTop {
    padding: 0 5vw;
  }
}
@media screen and (min-width: 1025px) {
  .interviewTop {
    padding: 0 10vw 0 5vw;
  }
}

@media screen and (min-width: 320px) {
  #swiperConsulInterview {
    padding: 3rem 10vw 0;
  }
}
@media screen and (min-width: 1025px) {
  #swiperConsulInterview {
    padding: 5.6rem 10vw 0 27.6vw;
  }
}
#swiperConsulInterview .slideImgWrapper {
  position: relative;
  aspect-ratio: 479/419;
}
#swiperConsulInterview .slideImg {
  height: 100%;
  -webkit-mask: url(#circleMask);
          mask: url(#circleMask);
}
#swiperConsulInterview .slideNum {
  position: absolute;
  bottom: 0;
  left: 1.3%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #FFFFFF;
  color: #f44e4e;
  font-family: "Chillax", sans-serif;
  width: 18.4%;
  aspect-ratio: 479/419;
  -webkit-mask: url(#circleMask);
          mask: url(#circleMask);
}
@media screen and (min-width: 320px) {
  #swiperConsulInterview .slideNum {
    font-size: 1.4rem;
  }
}
@media screen and (min-width: 1025px) {
  #swiperConsulInterview .slideNum {
    font-size: 2.4rem;
  }
}
#swiperConsulInterview .slideTitle {
  color: #FFFFFF;
}
@media screen and (min-width: 320px) {
  #swiperConsulInterview .slideTitle {
    font-size: 1.4rem;
    letter-spacing: 0.08rem;
    margin-top: 2.5rem;
  }
}
@media screen and (min-width: 1025px) {
  #swiperConsulInterview .slideTitle {
    font-size: 2.4rem;
    letter-spacing: 0.12rem;
    margin-top: 5.5rem;
  }
}
#swiperConsulInterview .slideDesc {
  color: #FFFFFF;
  opacity: 0.8;
  line-height: 1.75;
}
@media screen and (min-width: 320px) {
  #swiperConsulInterview .slideDesc {
    font-size: 1.2rem;
    letter-spacing: 0.06rem;
    margin-top: 1rem;
  }
}
@media screen and (min-width: 1025px) {
  #swiperConsulInterview .slideDesc {
    font-size: 1.8rem;
    letter-spacing: 0.08rem;
    margin-top: 2.2rem;
  }
}

.discussionWrapper {
  display: grid;
  background: #f44e4e;
}
@media screen and (min-width: 320px) {
  .discussionWrapper {
    grid-template-columns: repeat(1, 1fr);
  }
}
@media screen and (min-width: 1025px) {
  .discussionWrapper {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media screen and (min-width: 320px) {
  .consulDiscussion:nth-child(1) {
    padding: 5rem 5vw 3rem;
  }
}
@media screen and (min-width: 1025px) {
  .consulDiscussion:nth-child(1) {
    padding: 15rem 2vw 22rem 5vw;
    border-right: 1px solid #FFFFFF;
  }
}
@media screen and (min-width: 320px) {
  .consulDiscussion:nth-child(2) {
    padding: 3rem 5vw 8rem;
    border-top: 1px solid #FFFFFF;
  }
}
@media screen and (min-width: 1025px) {
  .consulDiscussion:nth-child(2) {
    padding: 15.3rem 5vw 22rem 2vw;
    border-top: unset;
  }
}

.discussionTitle {
  color: #FFFFFF;
}
@media screen and (min-width: 320px) {
  .discussionTitle {
    font-size: 1.3rem;
    letter-spacing: 0.08rem;
  }
}
@media screen and (min-width: 1025px) {
  .discussionTitle {
    font-size: 2rem;
    letter-spacing: 0.1rem;
  }
}

.discussionCopy {
  color: #FFFFFF;
  font-weight: 700;
}
@media screen and (min-width: 320px) {
  .discussionCopy {
    font-size: 2.8rem;
    margin-top: 1rem;
    letter-spacing: 0.05rem;
  }
}
@media screen and (min-width: 1025px) {
  .discussionCopy {
    font-size: 6.4rem;
    margin-top: 4.5rem;
    letter-spacing: 0.15rem;
    line-height: 1.75;
  }
}

.discussionLink {
  position: relative;
  display: block;
  overflow: clip;
  aspect-ratio: 165/94;
}
@media screen and (min-width: 320px) {
  .discussionLink {
    margin-top: 2rem;
    border-radius: 2rem;
  }
}
@media screen and (min-width: 1025px) {
  .discussionLink {
    margin-top: 6rem;
    border-radius: 4rem;
  }
}
.discussionLink .linkImg {
  height: 100%;
}
.discussionLink .linkArrow {
  position: absolute;
  bottom: 0;
  right: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 14.5%;
  background: #f44e4e;
  aspect-ratio: 1/1;
}
@media screen and (min-width: 320px) {
  .discussionLink .linkArrow {
    border-top-left-radius: 2rem;
  }
}
@media screen and (min-width: 1025px) {
  .discussionLink .linkArrow {
    border-top-left-radius: 4rem;
  }
}
.discussionLink .linkArrow::before, .discussionLink .linkArrow::after {
  position: absolute;
  content: "";
  border-radius: 50%;
}
@media screen and (min-width: 320px) {
  .discussionLink .linkArrow::before, .discussionLink .linkArrow::after {
    width: 4rem;
    height: 4rem;
    -webkit-box-shadow: 2rem 2rem 0 0 #f44e4e;
            box-shadow: 2rem 2rem 0 0 #f44e4e;
  }
}
@media screen and (min-width: 1025px) {
  .discussionLink .linkArrow::before, .discussionLink .linkArrow::after {
    width: 8rem;
    height: 8rem;
    -webkit-box-shadow: 4rem 4rem 0 0 #f44e4e;
            box-shadow: 4rem 4rem 0 0 #f44e4e;
  }
}
.discussionLink .linkArrow::before {
  bottom: 100%;
  right: 0;
}
.discussionLink .linkArrow::after {
  bottom: 0;
  right: 100%;
}
.discussionLink .linkSvg {
  width: 80%;
}

.consulSystem {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  background: #FFFFFF;
}
@media screen and (min-width: 320px) {
  .consulSystem {
    padding: 5rem 5vw 32px;
    border-radius: 3.2rem;
    margin-top: -3rem;
  }
}
@media screen and (min-width: 1025px) {
  .consulSystem {
    padding: 19rem 5vw 64px;
    border-radius: 6.4rem;
    margin-top: -6.5rem;
  }
}

.systemTitleWrapper {
  position: relative;
  z-index: 1;
}

.systemList {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  z-index: 1;
}
@media screen and (min-width: 320px) {
  .systemList {
    width: 100%;
    margin-top: 3rem;
    gap: 1.2rem 0;
  }
}
@media screen and (min-width: 1025px) {
  .systemList {
    width: 50%;
    margin-top: 15.7rem;
    gap: 3.2rem 0;
  }
}

.systemItem {
  position: relative;
  background: #FFFFFF;
}
@media screen and (min-width: 320px) {
  .systemItem {
    padding: 1.5rem 2rem 2rem;
    border-radius: 0.8rem;
  }
}
@media screen and (min-width: 1025px) {
  .systemItem {
    padding: 3.6rem 4rem 5.7rem;
    border-radius: 1.6rem;
  }
}
.systemItem::before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background: linear-gradient(100deg, rgb(244, 78, 78) 0%, rgb(138, 201, 248) 100%);
  z-index: -1;
  opacity: 0.2;
  -webkit-filter: blur(30px);
          filter: blur(30px);
}
@media screen and (min-width: 320px) {
  .systemItem::before {
    border-radius: 0.8rem;
  }
}
@media screen and (min-width: 1025px) {
  .systemItem::before {
    border-radius: 1.6rem;
  }
}
.systemItem .itemTitleWrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #f44e4e;
}
@media screen and (min-width: 320px) {
  .systemItem .itemTitleWrapper {
    gap: 0 2rem;
  }
}
@media screen and (min-width: 1025px) {
  .systemItem .itemTitleWrapper {
    gap: 0 4rem;
  }
}
.systemItem .itemNum {
  font-family: "Chillax", sans-serif;
  opacity: 0.8;
}
@media screen and (min-width: 320px) {
  .systemItem .itemNum {
    font-size: 1.3rem;
  }
}
@media screen and (min-width: 1025px) {
  .systemItem .itemNum {
    font-size: 2rem;
  }
}
.systemItem .itemTitle {
  font-weight: 700;
}
@media screen and (min-width: 320px) {
  .systemItem .itemTitle {
    font-size: 1.4rem;
    letter-spacing: 0.06rem;
  }
}
@media screen and (min-width: 1025px) {
  .systemItem .itemTitle {
    font-size: 2rem;
    letter-spacing: 0.1rem;
  }
}
.systemItem .itemCopy {
  font-weight: 700;
  line-height: 1.6;
}
@media screen and (min-width: 320px) {
  .systemItem .itemCopy {
    font-size: 1.6rem;
    letter-spacing: 0.06rem;
    margin-top: 1.4rem;
  }
}
@media screen and (min-width: 1025px) {
  .systemItem .itemCopy {
    font-size: 2.4rem;
    letter-spacing: 0.12rem;
    margin-top: 2.5rem;
  }
}
.systemItem .itemDesc {
  opacity: 0.8;
  line-height: 1.76;
}
@media screen and (min-width: 320px) {
  .systemItem .itemDesc {
    font-size: 1.3rem;
    letter-spacing: 0.06rem;
    margin-top: 1rem;
  }
}
@media screen and (min-width: 1025px) {
  .systemItem .itemDesc {
    font-size: 1.8rem;
    letter-spacing: 0.09rem;
    margin-top: 1.8rem;
  }
}

.systemBgSvg {
  position: absolute;
  left: 10%;
  width: 64%;
  opacity: 0.15;
  -webkit-filter: blur(20px);
          filter: blur(20px);
}
@media screen and (min-width: 320px) {
  .systemBgSvg {
    top: 5rem;
  }
}
@media screen and (min-width: 1025px) {
  .systemBgSvg {
    top: 21rem;
  }
}

@media screen and (min-width: 320px) {
  #galImgSwiper {
    margin-top: 5rem;
  }
}
@media screen and (min-width: 1025px) {
  #galImgSwiper {
    margin-top: 27.4rem;
  }
}
#galImgSwiper .swiper-wrapper {
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
}
@media screen and (min-width: 320px) {
  #galImgSwiper .swiper-slide {
    border-radius: 0.8rem;
  }
}
@media screen and (min-width: 1025px) {
  #galImgSwiper .swiper-slide {
    border-radius: 1.6rem;
  }
}

.consulFlow {
  background: #fff;
}
@media screen and (min-width: 320px) {
  .consulFlow {
    padding: 5rem 0;
    border-bottom-left-radius: 3.2rem;
  }
}
@media screen and (min-width: 1025px) {
  .consulFlow {
    padding: 25rem 0 21rem;
    border-bottom-left-radius: 6.4rem;
  }
}

.flowTop {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}
@media screen and (min-width: 320px) {
  .flowTop {
    padding: 0 5vw;
  }
}
@media screen and (min-width: 1025px) {
  .flowTop {
    padding: 0 10vw 0 5vw;
  }
}

@media screen and (min-width: 320px) {
  #swiperConsulFlow {
    padding: 3rem 5vw 0;
  }
}
@media screen and (min-width: 1025px) {
  #swiperConsulFlow {
    padding: 16.6rem 15vw 0;
  }
}
#swiperConsulFlow .swiper-slide {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (min-width: 320px) {
  #swiperConsulFlow .swiper-slide {
    gap: 0 1rem;
  }
}
@media screen and (min-width: 1025px) {
  #swiperConsulFlow .swiper-slide {
    gap: 0 2.3rem;
  }
}
#swiperConsulFlow .swiper-slide:nth-last-child(1) .slideTitle::before {
  content: none;
}
#swiperConsulFlow .slideNum {
  color: #f44e4e;
  font-family: "Chillax", sans-serif;
}
@media screen and (min-width: 320px) {
  #swiperConsulFlow .slideNum {
    font-size: 2.4rem;
  }
}
@media screen and (min-width: 1025px) {
  #swiperConsulFlow .slideNum {
    font-size: 6.4rem;
  }
}
#swiperConsulFlow .slideTitle {
  position: relative;
  color: #f44e4e;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (min-width: 320px) {
  #swiperConsulFlow .slideTitle {
    font-size: 1.6rem;
    margin-top: 0.5rem;
  }
}
@media screen and (min-width: 1025px) {
  #swiperConsulFlow .slideTitle {
    font-size: 3.2rem;
    margin-top: 2.3rem;
  }
}
#swiperConsulFlow .slideTitle::before {
  position: absolute;
  content: "";
  top: 51%;
  left: calc(100% + 1.8rem);
  width: calc(28.8rem - 100%);
  height: 1px;
  border: 1px dashed #f44e4e;
  opacity: 0.2;
}
#swiperConsulFlow .slideTitle .small {
  font-size: 56%;
}
#swiperConsulFlow .slideDesc {
  line-height: 2;
}
@media screen and (min-width: 320px) {
  #swiperConsulFlow .slideDesc {
    font-size: 1.3rem;
    margin-top: 2rem;
  }
}
@media screen and (min-width: 1025px) {
  #swiperConsulFlow .slideDesc {
    font-size: 2rem;
    margin-top: 2.9rem;
  }
}

.consulFaq {
  position: relative;
}
@media screen and (min-width: 320px) {
  .consulFaq {
    padding-top: 8rem;
    margin-top: -3rem;
  }
}
@media screen and (min-width: 1025px) {
  .consulFaq {
    padding-top: 39.3rem;
    margin-top: -6.4rem;
  }
}
.consulFaq::before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100rem;
  background: -webkit-gradient(linear, left top, left bottom, from(#cee0fd), to(transparent));
  background: linear-gradient(to bottom, #cee0fd, transparent);
  z-index: -1;
}

.faqTitleWrapper {
  position: relative;
  text-align: right;
  color: #FFFFFF;
  position: relative;
}
@media screen and (min-width: 320px) {
  .faqTitleWrapper {
    margin: 0 5vw;
  }
}
@media screen and (min-width: 1025px) {
  .faqTitleWrapper {
    margin: 0 14.5vw 0 13.5vw;
  }
}

.faqTitle {
  font-weight: 700;
}
@media screen and (min-width: 320px) {
  .faqTitle {
    font-size: 2.4rem;
    letter-spacing: 0.06rem;
  }
}
@media screen and (min-width: 1025px) {
  .faqTitle {
    font-size: 6.3rem;
    letter-spacing: 0.15rem;
  }
}

.faqTitleEn {
  position: absolute;
  bottom: 0;
  left: 0;
  font-family: "Chillax", sans-serif;
  opacity: 0.2;
}
@media screen and (min-width: 320px) {
  .faqTitleEn {
    font-size: 6.4rem;
    letter-spacing: 0.2rem;
    line-height: 0.86;
  }
}
@media screen and (min-width: 1025px) {
  .faqTitleEn {
    font-size: 30rem;
    letter-spacing: 1.2rem;
    line-height: 0.78;
  }
}

.faqList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 320px) {
  .faqList {
    padding: 2rem 5vw 0;
    gap: 1.2rem 0;
  }
}
@media screen and (min-width: 1025px) {
  .faqList {
    padding: 6rem 15vw 0;
    gap: 1.6rem 0;
  }
}

.faqItem {
  position: relative;
  background: #FFFFFF;
  width: 100%;
}
@media screen and (min-width: 320px) {
  .faqItem {
    padding: 2rem 1.6rem;
    border-radius: 1.6rem;
  }
}
@media screen and (min-width: 1025px) {
  .faqItem {
    padding: 4rem 4.8rem 5.8rem;
    border-radius: 3.2rem;
  }
}
.faqItem::before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background: linear-gradient(100deg, rgb(244, 78, 78) 0%, rgb(138, 201, 248) 100%);
  z-index: -1;
  opacity: 0.2;
  -webkit-filter: blur(30px);
          filter: blur(30px);
}
@media screen and (min-width: 320px) {
  .faqItem::before {
    border-radius: 1.6rem;
  }
}
@media screen and (min-width: 1025px) {
  .faqItem::before {
    border-radius: 3.2rem;
  }
}
.faqItem .itemTitle {
  position: relative;
}
@media screen and (min-width: 320px) {
  .faqItem .itemTitle {
    font-size: 1.4rem;
    padding-left: 2.2rem;
    line-height: 1.6;
  }
}
@media screen and (min-width: 1025px) {
  .faqItem .itemTitle {
    font-size: 3.2rem;
    padding-left: 4.5rem;
    line-height: 1.8;
  }
}
.faqItem .itemTitle::before {
  position: absolute;
  content: "Q";
  left: 0;
  font-family: "Chillax", sans-serif;
  color: #f44e4e;
  line-height: 1;
}
@media screen and (min-width: 320px) {
  .faqItem .itemTitle::before {
    top: 0.3rem;
    font-size: 1.8rem;
  }
}
@media screen and (min-width: 1025px) {
  .faqItem .itemTitle::before {
    top: 0.9rem;
    font-size: 4rem;
  }
}
.faqItem .itemDesc {
  position: relative;
  border-top: 1px solid rgba(244, 78, 78, 0.2);
  opacity: 0.6;
}
@media screen and (min-width: 320px) {
  .faqItem .itemDesc {
    font-size: 1.3rem;
    padding: 1rem 0 0 2.2rem;
    margin-top: 1rem;
    line-height: 1.6;
  }
}
@media screen and (min-width: 1025px) {
  .faqItem .itemDesc {
    font-size: 2rem;
    padding: 2.2rem 0 0 5.1rem;
    margin-top: 2rem;
    line-height: 1.8;
  }
}
.faqItem .itemDesc::before {
  position: absolute;
  content: "A";
  left: 0;
  font-family: "Chillax", sans-serif;
  line-height: 1;
}
@media screen and (min-width: 320px) {
  .faqItem .itemDesc::before {
    top: 1.3rem;
    font-size: 1.8rem;
  }
}
@media screen and (min-width: 1025px) {
  .faqItem .itemDesc::before {
    top: 2.6rem;
    font-size: 4rem;
  }
}

@media screen and (min-width: 320px) {
  .consulRequire {
    padding-top: 5rem;
  }
}
@media screen and (min-width: 1025px) {
  .consulRequire {
    padding-top: 26.2rem;
  }
}

.requireTitleWrapper {
  background-image: url(../img/service/text_texture.webp);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  text-align: center;
  background-position: center;
  opacity: 0.4;
}

.requireTitleEn {
  font-family: "Chillax", sans-serif;
  line-height: 1;
}
@media screen and (min-width: 320px) {
  .requireTitleEn {
    font-size: 5rem;
  }
}
@media screen and (min-width: 1025px) {
  .requireTitleEn {
    font-size: 20rem;
  }
}

.requireTitle {
  line-height: 1;
}
@media screen and (min-width: 320px) {
  .requireTitle {
    font-size: 2.4rem;
    letter-spacing: 0.05rem;
    margin-top: 1.6rem;
  }
}
@media screen and (min-width: 1025px) {
  .requireTitle {
    font-size: 6.4rem;
    letter-spacing: 0.1rem;
    margin-top: 8rem;
  }
}

@media screen and (min-width: 320px) {
  .requireAbout {
    padding: 3rem 5vw 0;
  }
}
@media screen and (min-width: 1025px) {
  .requireAbout {
    padding: 16rem 15vw 0;
  }
}
@media screen and (min-width: 320px) {
  .requireAbout:nth-of-type(1) {
    padding: 0 5vw;
  }
}
@media screen and (min-width: 1025px) {
  .requireAbout:nth-of-type(1) {
    padding: 6.5rem 15vw 0;
  }
}
.requireAbout:nth-of-type(1) .aboutTitle {
  border-top: unset;
}
.requireAbout .aboutTitle {
  border-top: 1px solid rgba(244, 78, 78, 0.2);
  font-weight: 700;
}
@media screen and (min-width: 320px) {
  .requireAbout .aboutTitle {
    font-size: 1.6rem;
    padding: 3rem 1.8rem 0;
  }
}
@media screen and (min-width: 1025px) {
  .requireAbout .aboutTitle {
    font-size: 3.2rem;
    padding: 15rem 6.3rem 0;
  }
}
.requireAbout .aboutCateWrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 320px) {
  .requireAbout .aboutCateWrapper {
    gap: 0 1rem;
    padding: 1rem 1.8rem 0;
    font-size: 1.2rem;
  }
}
@media screen and (min-width: 1025px) {
  .requireAbout .aboutCateWrapper {
    gap: 0 2rem;
    padding: 3.7rem 6.3rem 0;
    font-size: 2rem;
  }
}
.requireAbout .aboutCate {
  background: #f44e4e;
  color: #FFFFFF;
  border-radius: 2rem;
}
@media screen and (min-width: 320px) {
  .requireAbout .aboutCate {
    padding: 0.1rem 0.8rem;
  }
}
@media screen and (min-width: 1025px) {
  .requireAbout .aboutCate {
    padding: 0.2rem 1.2rem;
  }
}
.requireAbout .aboutDesc {
  line-height: 1.8;
}
@media screen and (min-width: 320px) {
  .requireAbout .aboutDesc {
    font-size: 1.2rem;
    padding: 1.6rem 1.8rem 0;
  }
}
@media screen and (min-width: 1025px) {
  .requireAbout .aboutDesc {
    font-size: 2rem;
    padding: 5.4rem 6.3rem 0;
  }
}

.requireDetail {
  position: relative;
  background: #FFFFFF;
}
@media screen and (min-width: 320px) {
  .requireDetail {
    padding: 2rem;
    border-radius: 1.6rem;
    margin-top: 2rem;
  }
}
@media screen and (min-width: 1025px) {
  .requireDetail {
    padding: 5.4rem 6.3rem 5.6rem;
    border-radius: 3.2rem;
    margin-top: 7.2rem;
  }
}
.requireDetail::before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background: linear-gradient(100deg, rgb(244, 78, 78) 0%, rgb(138, 201, 248) 100%);
  z-index: -1;
  opacity: 0.2;
  -webkit-filter: blur(30px);
          filter: blur(30px);
}
@media screen and (min-width: 320px) {
  .requireDetail::before {
    border-radius: 1.6rem;
  }
}
@media screen and (min-width: 1025px) {
  .requireDetail::before {
    border-radius: 3.2rem;
  }
}
.requireDetail::after {
  position: absolute;
  content: "";
  display: inline-block;
  background-image: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23fff" stroke-width="2" stroke-linecap="square" stroke-linejoin="arcs"%3E%3Cline x1="12" y1="5" x2="12" y2="19"%3E%3C/line%3E%3Cline x1="5" y1="12" x2="19" y2="12"%3E%3C/line%3E%3C/svg%3E');
  background-repeat: no-repeat;
  background-size: 50%;
  background-position: center;
  border-radius: 50%;
  background-color: #f44e4e;
  pointer-events: none;
  -webkit-transition: -webkit-transform 0.2s ease;
  transition: -webkit-transform 0.2s ease;
  transition: transform 0.2s ease;
  transition: transform 0.2s ease, -webkit-transform 0.2s ease;
}
@media screen and (min-width: 320px) {
  .requireDetail::after {
    top: 2.2rem;
    right: 2.5rem;
    width: 2rem;
    height: 2rem;
  }
}
@media screen and (min-width: 1025px) {
  .requireDetail::after {
    top: 5.7rem;
    right: 6.3rem;
    width: 4.4rem;
    height: 4.4rem;
  }
}
.requireDetail[open]::after {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  background-image: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23fff" stroke-width="2" stroke-linecap="square" stroke-linejoin="arcs"%3E%3Cline x1="5" y1="12" x2="19" y2="12"%3E%3C/line%3E%3C/svg%3E');
}

.summaryTitle {
  list-style-type: none;
  font-weight: 700;
}
@media screen and (min-width: 320px) {
  .summaryTitle {
    font-size: 1.6rem;
  }
}
@media screen and (min-width: 1025px) {
  .summaryTitle {
    font-size: 3.2rem;
  }
}
.summaryTitle::after {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
}
.summaryTitle::-webkit-details-marker {
  display: none;
}

.requireList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 320px) {
  .requireList {
    gap: 1rem 0;
    padding: 3rem 0 2rem;
  }
}
@media screen and (min-width: 1025px) {
  .requireList {
    gap: 2.1rem 0;
    padding: 14.2rem 0 14.6rem;
  }
}

.requireItem {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  border-bottom: 1px solid rgba(244, 78, 78, 0.2);
}
@media screen and (min-width: 320px) {
  .requireItem {
    padding-bottom: 1rem;
  }
}
@media screen and (min-width: 1025px) {
  .requireItem {
    padding-bottom: 2.1rem;
  }
}
.requireItem .itemTitle {
  font-weight: 700;
}
@media screen and (min-width: 320px) {
  .requireItem .itemTitle {
    font-size: 1.3rem;
  }
}
@media screen and (min-width: 1025px) {
  .requireItem .itemTitle {
    font-size: 2.4rem;
    margin-top: 0.3rem;
  }
}
.requireItem .itemDesc {
  line-height: 2.05;
}
@media screen and (min-width: 320px) {
  .requireItem .itemDesc {
    width: 76%;
    font-size: 1.2rem;
  }
}
@media screen and (min-width: 1025px) {
  .requireItem .itemDesc {
    width: 70%;
    font-size: 1.8rem;
  }
}

.consulLine {
  position: relative;
  overflow: hidden;
  background: #f44e4e;
}
@media screen and (min-width: 320px) {
  .consulLine {
    margin-top: 5rem;
    border-radius: 3.2rem 3.2rem 0 0;
  }
}
@media screen and (min-width: 1025px) {
  .consulLine {
    margin-top: 11.7rem;
    border-radius: 6.4rem 6.4rem 0 0;
  }
}

.consulLineInner {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  z-index: 1;
}
@media screen and (min-width: 320px) {
  .consulLineInner {
    padding: 5rem 0 8.8rem;
  }
}
@media screen and (min-width: 1025px) {
  .consulLineInner {
    padding: 25rem 0 20rem;
  }
}

.lineTitle {
  font-weight: 700;
  color: #FFFFFF;
}
@media screen and (min-width: 320px) {
  .lineTitle {
    font-size: 2rem;
  }
}
@media screen and (min-width: 1025px) {
  .lineTitle {
    font-size: 6.4rem;
  }
}

.lineLink {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  color: #f44e4e;
  background: rgba(255, 255, 255, 0.8);
}
@media screen and (min-width: 320px) {
  .lineLink {
    width: 80%;
    padding: 1rem;
    border-radius: 1.6rem;
    margin-top: 2.4rem;
  }
}
@media screen and (min-width: 1025px) {
  .lineLink {
    width: 33%;
    padding: 3.2rem 2.6rem 3.2rem 3.2rem;
    border-radius: 3.2rem;
    margin-top: 10.6rem;
  }
}

.lineIcon {
  width: 14%;
}

.lineText {
  font-weight: 700;
}
@media screen and (min-width: 320px) {
  .lineText {
    font-size: 1.4rem;
    letter-spacing: 0.03rem;
    padding-right: 6%;
  }
}
@media screen and (min-width: 1025px) {
  .lineText {
    font-size: 2.4rem;
    letter-spacing: 0.05rem;
    padding-right: 16%;
  }
}

.lineArrow {
  width: 4.2%;
}

.lineBgText {
  position: absolute;
  left: 50%;
  font-family: "Quentin", sans-serif;
  color: #FFFFFF;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  white-space: nowrap;
  opacity: 0.2;
}
@media screen and (min-width: 320px) {
  .lineBgText {
    top: 2rem;
    font-size: 6rem;
    letter-spacing: 0.7rem;
  }
}
@media screen and (min-width: 1025px) {
  .lineBgText {
    top: 8.5rem;
    font-size: 30rem;
    letter-spacing: 1.4rem;
  }
}

.lineBgImg {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  opacity: 0.3;
  -o-object-position: center 26%;
     object-position: center 26%;
}

.consulRecruit {
  position: relative;
  background: #FFFFFF;
}
@media screen and (min-width: 320px) {
  .consulRecruit {
    padding-top: 5rem;
    border-top-left-radius: 3.2rem;
    margin-top: -3rem;
  }
}
@media screen and (min-width: 1025px) {
  .consulRecruit {
    padding-top: 19rem;
    border-top-left-radius: 6.4rem;
    margin-top: -7.2rem;
  }
}
.consulRecruit::before {
  position: absolute;
  content: "";
  bottom: 100%;
  right: 0;
  border-radius: 50%;
}
@media screen and (min-width: 320px) {
  .consulRecruit::before {
    width: 6rem;
    height: 6rem;
    -webkit-box-shadow: 3rem 3rem 0 0 #FFFFFF;
            box-shadow: 3rem 3rem 0 0 #FFFFFF;
  }
}
@media screen and (min-width: 1025px) {
  .consulRecruit::before {
    width: 12rem;
    height: 12rem;
    -webkit-box-shadow: 6rem 6rem 0 0 #FFFFFF;
            box-shadow: 6rem 6rem 0 0 #FFFFFF;
  }
}

.wpcf7-form {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 320px) {
  .wpcf7-form {
    padding: 4rem 5vw 0;
  }
}
@media screen and (min-width: 1025px) {
  .wpcf7-form {
    padding: 16.5rem 25.8vw 0 24.2vw;
  }
}

.formList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
}
@media screen and (min-width: 320px) {
  .formList {
    gap: 3rem 0;
  }
}
@media screen and (min-width: 1025px) {
  .formList {
    gap: 8rem 0;
  }
}

.formItem {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  font-weight: 700;
}

@media screen and (min-width: 320px) {
  .formTitle {
    font-size: 1.3rem;
    margin-top: 0.8rem;
    letter-spacing: 0.1rem;
  }
}
@media screen and (min-width: 1025px) {
  .formTitle {
    font-size: 2.4rem;
    margin-top: 1.5rem;
    letter-spacing: 0.2rem;
  }
}

@media screen and (min-width: 320px) {
  .formDesc {
    width: 68%;
  }
}
@media screen and (min-width: 1025px) {
  .formDesc {
    width: 65.2%;
  }
}

.formInput {
  width: 100%;
  background: rgba(244, 78, 78, 0.2);
}
@media screen and (min-width: 320px) {
  .formInput {
    height: 4rem;
    font-size: 1.2rem;
    border-radius: 0.5rem;
    padding: 1rem 1.5rem;
  }
}
@media screen and (min-width: 1025px) {
  .formInput {
    height: 7.2rem;
    font-size: 1.8rem;
    border-radius: 1rem;
    padding: 2rem 2.5rem;
  }
}
@media screen and (min-width: 320px) {
  .formInput.message {
    height: 12rem;
  }
}
@media screen and (min-width: 1025px) {
  .formInput.message {
    height: 24rem;
  }
}
.formInput::-webkit-input-placeholder {
  opacity: 0.4;
}
.formInput::-moz-placeholder {
  opacity: 0.4;
}
.formInput:-ms-input-placeholder {
  opacity: 0.4;
}
.formInput::-ms-input-placeholder {
  opacity: 0.4;
}
.formInput::placeholder {
  opacity: 0.4;
}

.formCheck {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: 700;
}
@media screen and (min-width: 320px) {
  .formCheck {
    font-size: 1.3rem;
    letter-spacing: 0.1rem;
    margin: 4rem 0 0;
  }
}
@media screen and (min-width: 1025px) {
  .formCheck {
    font-size: 2.4rem;
    letter-spacing: 0.2rem;
    margin: 15.7rem 0 0 3.6rem;
  }
}

#recruitCheckBox:checked + .formCheckBox::before {
  content: "";
}

.formCheckBox {
  position: relative;
  aspect-ratio: 1/1;
  background: rgba(244, 78, 78, 0.2);
  cursor: pointer;
}
@media screen and (min-width: 320px) {
  .formCheckBox {
    width: 2rem;
    border-radius: 0.2rem;
  }
}
@media screen and (min-width: 1025px) {
  .formCheckBox {
    width: 4rem;
    border-radius: 0.4rem;
  }
}
.formCheckBox::before {
  position: absolute;
  content: none;
  top: 50%;
  left: 50%;
  width: 80%;
  display: inline-block;
  background-image: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23fff" stroke-width="4" stroke-linecap="square" stroke-linejoin="arcs"%3E%3Cpolyline points="20 6 9 17 4 12"%3E%3C/polyline%3E%3C/svg%3E');
  background-repeat: no-repeat;
  background-position: center;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  aspect-ratio: 1/1;
}

.recruitCheckLink {
  text-decoration: underline;
  text-underline-offset: 5px;
  text-decoration-thickness: 1px;
  text-decoration-color: rgba(0, 0, 0, 0.4);
}
@media screen and (min-width: 320px) {
  .recruitCheckLink {
    margin-left: 2rem;
  }
}
@media screen and (min-width: 1025px) {
  .recruitCheckLink {
    margin-left: 4rem;
  }
}

@media screen and (min-width: 320px) {
  .wpcf7-not-valid-tip {
    font-size: 1.1rem;
  }
}
@media screen and (min-width: 1025px) {
  .wpcf7-not-valid-tip {
    font-size: 1.8rem;
  }
}

.formSubmit {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 320px) {
  .formSubmit {
    margin: 3rem 0 0;
    gap: 0 2rem;
  }
}
@media screen and (min-width: 1025px) {
  .formSubmit {
    margin: 8rem 0 0 1.8vw;
    gap: 0 5rem;
  }
}
.formSubmit .icon {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 320px) {
  .formSubmit .icon {
    width: 4.5rem;
    height: 4.5rem;
  }
}
@media screen and (min-width: 1025px) {
  .formSubmit .icon {
    width: 6.4rem;
    height: 6.4rem;
  }
}
.formSubmit .icon::before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background: #f44e4e;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.formSubmit .iconSvg {
  position: relative;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
@media screen and (min-width: 320px) {
  .formSubmit .iconSvg {
    width: 32%;
  }
}
@media screen and (min-width: 1025px) {
  .formSubmit .iconSvg {
    width: 43%;
  }
}

.formSubmitBtn {
  font-weight: 700;
  text-decoration: underline;
  text-decoration-color: rgba(0, 0, 0, 0.4);
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  background: unset;
}
@media screen and (min-width: 320px) {
  .formSubmitBtn {
    font-size: 1.4rem;
  }
}
@media screen and (min-width: 1025px) {
  .formSubmitBtn {
    font-size: 2.4rem;
  }
}

.wpcf7-spinner {
  display: none;
}

.recruitCulture {
  position: relative;
  background: #f44e4e;
}
@media screen and (min-width: 320px) {
  .recruitCulture {
    margin-top: 18rem;
    padding: 5rem 2.5vw;
    border-radius: 0 3.2rem 3.2rem 0;
  }
}
@media screen and (min-width: 1025px) {
  .recruitCulture {
    margin-top: 18rem;
    padding: 16.4rem 5vw 16.6rem;
    border-radius: 0 6.4rem 6.4rem 0;
  }
}
.recruitCulture::before, .recruitCulture::after {
  position: absolute;
  content: "";
  border-radius: 50%;
}
@media screen and (min-width: 320px) {
  .recruitCulture::before, .recruitCulture::after {
    width: 6rem;
    height: 6rem;
  }
}
@media screen and (min-width: 1025px) {
  .recruitCulture::before, .recruitCulture::after {
    width: 12rem;
    height: 12rem;
  }
}
.recruitCulture::before {
  bottom: 100%;
  left: 0;
}
@media screen and (min-width: 320px) {
  .recruitCulture::before {
    -webkit-box-shadow: -3rem 3rem 0 0 #f44e4e;
            box-shadow: -3rem 3rem 0 0 #f44e4e;
  }
}
@media screen and (min-width: 1025px) {
  .recruitCulture::before {
    -webkit-box-shadow: -6rem 6rem 0 0 #f44e4e;
            box-shadow: -6rem 6rem 0 0 #f44e4e;
  }
}
.recruitCulture::after {
  top: 100%;
  left: 0;
}
@media screen and (min-width: 320px) {
  .recruitCulture::after {
    -webkit-box-shadow: -3rem -3rem 0 0 #f44e4e;
            box-shadow: -3rem -3rem 0 0 #f44e4e;
  }
}
@media screen and (min-width: 1025px) {
  .recruitCulture::after {
    -webkit-box-shadow: -6rem -6rem 0 0 #f44e4e;
            box-shadow: -6rem -6rem 0 0 #f44e4e;
  }
}
.recruitCulture .recSectionTitle, .recruitCulture .recSectionCopy {
  color: #FFFFFF;
}

.cultureList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (min-width: 320px) {
  .cultureList {
    margin-top: 3rem;
    gap: 1.5rem 4%;
  }
}
@media screen and (min-width: 1025px) {
  .cultureList {
    margin-top: -36.2rem;
    gap: 3.6rem 3.73%;
  }
}

.cultureItem {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #FFFFFF;
}
@media screen and (min-width: 320px) {
  .cultureItem {
    width: 48%;
    border-radius: 1.5rem;
    padding: 2rem 1rem;
    min-height: 23.2rem;
  }
}
@media screen and (min-width: 1025px) {
  .cultureItem {
    width: 22.2%;
    min-height: 38rem;
    border-radius: 3rem;
    padding: 3.3rem 3.7rem 3.7rem;
    min-height: 42.6rem;
  }
  .cultureItem:nth-of-type(1) {
    margin-left: 51.87%;
  }
}
.cultureItem .itemSvg {
  width: 30%;
}
.cultureItem .itemTitle {
  font-weight: 700;
}
@media screen and (min-width: 320px) {
  .cultureItem .itemTitle {
    font-size: 1.6rem;
    margin-top: 1.5rem;
  }
}
@media screen and (min-width: 1025px) {
  .cultureItem .itemTitle {
    font-size: 3.2rem;
    margin-top: 3.1rem;
  }
}
@media screen and (min-width: 320px) {
  .cultureItem .itemText {
    font-size: 1.2rem;
    margin-top: 1rem;
    line-height: 1.6;
  }
}
@media screen and (min-width: 1025px) {
  .cultureItem .itemText {
    font-size: 2rem;
    margin-top: 1.6rem;
    line-height: 1.8;
  }
}
@media screen and (min-width: 320px) {
  .cultureItem .itemNote {
    font-size: 1.1rem;
    margin-top: 0.3rem;
  }
}
@media screen and (min-width: 1025px) {
  .cultureItem .itemNote {
    font-size: 1.8rem;
    margin-top: 0.5rem;
  }
}

.recSectionTitle {
  color: #f44e4e;
}
@media screen and (min-width: 320px) {
  .recSectionTitle {
    font-size: 1.4rem;
  }
}
@media screen and (min-width: 1025px) {
  .recSectionTitle {
    font-size: 2.4rem;
  }
}

.recSectionCopy {
  font-weight: 900;
  line-height: 1.342;
}
@media screen and (min-width: 320px) {
  .recSectionCopy {
    font-size: 3rem;
    margin-top: 1.5rem;
  }
}
@media screen and (min-width: 1025px) {
  .recSectionCopy {
    font-size: 7.2rem;
    margin-top: 3.8rem;
  }
}/*# sourceMappingURL=consulting.css.map */