/*---------------------------------------------

	ヘッダー

---------------------------------------------*/
.secGrobalmenu {
  background-color: #ffffff;
  box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.15);
  position: fixed;
  width: 100%;
  height: 104px;
  top: 0;
  z-index: 99;
}

.secGrobalmenu__inner {
  width: 894px;
  max-width: 90%;
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
  padding: 1.1rem 0;
  height: 100%;
  align-items: center;
  align-items: center;
}

.secGrobalmenu__left {
  width: 200px;
}

@media screen and (max-width: 600px) {
  .secGrobalmenu__inner {
    max-width: 90.6%;
    padding: 1.5rem 0;
  }
}

@media screen and (max-width: 600px) {
  .secGrobalmenu-button {
    font-size: 1rem;
    padding: 0.9rem;
    min-width: 9.8rem;
  }
}

@media screen and (max-width: 600px) {
  .secGrobalmenu__left {
    min-width: 9.8rem;
    width: 30%;
  }

  .secGrobalmenu {
    height: 123px;
  }
}

/*---------------------------------------------

	ファーストビュー

---------------------------------------------*/

.secFv {
  margin-top: 96px;
  position: relative;
}

.secFvBg img {
  width: 100%;
  height: auto;
}

.fv-contactBox {
  font-weight: bold;
  text-align: center;
  max-width: 748px;
  /* width: 90%; */
  border-radius: 20px;
  padding: 20px 30px;
  /* height: 140px; */
  background: #fff;
  position: absolute;
  left: 50%;
  bottom: -50px;
  transform: translateX(-50%);
  box-shadow: 3px 4px 17px 0 rgba(0, 0, 0, 0.25);
}

.fv-contactBox > p {
  margin: 0 auto;
  font-size: clamp(16px, 0.96rem + 0.2vw, 18px);
}

.fv-contactBox-link:hover {
  opacity: 1;
}


.util-button .fv-contactbutton {
  font-size: clamp(1.063rem, 0.924rem + 0.69vw, 1.5rem);
}

.secFv .secFvBg .sp {
  display: none !important;
}

@media screen and (max-width: 920px) {
  .secFv .secFvBg .pc {
    display: none !important;
  }

  .secFv .secFvBg .sp {
    display: block !important;
  }
}

.fv-contactbutton .util-button-campaign {
  font-size: clamp(0.625rem, 0.546rem + 0.4vw, 0.875rem);
}

@media screen and (min-width: 800px) {
  .fv-contactbutton {
    min-width: 295px;
    max-width: 350px;
    width: 100%;
  }

  .fv-contactbutton .util-button {
    width: 100%;
      /* width: 60%; */
  }

  .fv-contactbutton .util-button-campaign {
    width: 80%;
  }

  .fv-contactBox {
    max-width: 800px;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }

    .fv-contactBox>p {
      width: 40%;
    }

}
@media screen and (max-width: 1024px) {
  .fv-contactBox {
    bottom: -80px;
        width: 90%;
  }
}
@media screen and (max-width: 800px) {
  .secFv {
    margin-top: 104px;
  }

  .secFvBg {
    margin-bottom: 40vw;
  }

  .fv-contactBox {
    bottom: -16vw;
  }


  .fv-contactbutton {
    position: static;
    display: flex;
    justify-content: center;
    /* bottom: -10%; */
    margin-top: 20px;
  }
}

@media screen and (max-width: 600px) {
  .secFv {
    margin-top: 123px;
  }

  .secFvBg {
    margin-bottom: 60vw;
  }

  .fv-contactBox {
    bottom: -120px;
  }
}

/*---------------------------------------------

	イントロ

---------------------------------------------*/

.secIntroInner {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.secIntro__client {
  width: 100%;
}

.secIntro__client img {
  width: 100%;
}

.secIntroContent {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 80%;
  max-width: 768px;
}

@media screen and (max-width: 600px) {
  .secIntroContent {
    width: 100%;
  }
}

.secIntroContent__deco {
  position: absolute;
  width: 15.4%;
  min-width: 100px;
  bottom: 95%;
  left: 0;
}

@media screen and (max-width: 830px) {
  .secIntroContent__deco {
    bottom: 95%;
    left: -8%;
  }
}

@media screen and (max-width: 600px) {
  .secIntroContent__deco {
    bottom: 101%;
    left: 0%;
    width: 26.4%;
    min-width: auto;
  }
}

.secIntroContent__deco img {
  width: 100%;
}

.secIntroContent__img,
.secIntroContent__img img {
  width: 100%;
}

.secIntroContent__titleArea {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.secIntroContent__subTitle {
  font-size: 1.5rem;
  font-weight: 600;
  letter-spacing: normal;
}

@media screen and (max-width: 600px) {
  .secIntroContent__subTitle {
    font-size: 1.15rem;
  }
}

.secIntroContent__title {
  font-size: 2.125rem;
  font-weight: 700;
  letter-spacing: normal;
  line-height: 1.5;
}

@media screen and (max-width: 600px) {
  .secIntroContent__title {
    font-size: 1.9rem;
  }
}

.secIntroContent__text {
  font-size: 1.065rem;
  font-weight: 600;
  letter-spacing: normal;
}

@media screen and (max-width: 600px) {
  .secIntroContent__text {
    font-size: 1.15rem;
    line-height: 2.4;
  }
}

.secIntroContent__textMarker {
  padding: 1rem 1rem;
  font-size: 1.5rem;
  font-weight: 600;
  color: #ffffff;
  background-color: #0d1b36;
  border-radius: 15px;
  margin: 0 0.7rem 1rem 0.7rem;
  display: inline-block;
}

@media screen and (max-width: 600px) {
  .secIntroContent__textMarker {
    font-size: 1.45rem;
  }
}

.secIntroPoint__subTitle {
  font-size: 1.8rem;
  font-weight: 600;
  letter-spacing: normal;
}

.secIntroPoint__subTitleMarker {
  font-size: 2.5rem;
  font-weight: 700;
  color: #e616ae;
  background: linear-gradient(transparent 60%, #e5f6ff 60%);
}

.secIntroPoint__titleMarker {
  font-size: 2.125rem;
  font-weight: 700;
  color: #406590;
}

@media screen and (max-width: 600px) {
  .secIntroPoint__titleMarker {
    font-size: 1.8rem;
  }
}

.secIntroPoint__title {
  font-size: 2.125rem;
  font-weight: 600;
  color: #0d1b36;
}

@media screen and (max-width: 600px) {
  .secIntroPoint__title {
    font-size: 1.8rem;
  }
}

.secIntroPoint__items {
  display: flex;
  column-gap: 1.5rem;
  row-gap: 1rem;
  flex-wrap: wrap;
  justify-content: center;
}

@media screen and (max-width: 600px) {
  .secIntroPoint__items {
    justify-content: space-between;
    column-gap: 0;
    row-gap: 0.5rem;
  }
}

.secIntroPoint__item {
  width: 23%;
  min-width: 200px;
  filter: drop-shadow(0px 3px 6px rgba(0, 0, 0, 0.15));
}

@media screen and (max-width: 600px) {
  .secIntroPoint__item {
    width: 49.5%;
    min-width: auto;
  }
}

.secIntroPoint__item img {
  width: 100%;
}

/*---------------------------------------------

	アバウト

---------------------------------------------*/
.secAbout {
  padding: 3.5rem 0 7.5625rem 0;

  background-color: #f8fdff;
}

@media screen and (max-width: 600px) {
  .secAbout {
    padding: 3rem 0 5rem 0;
  }
}

.secAboutInner {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.secAboutBubble {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 80%;
  max-width: 768px;
}

@media screen and (max-width: 600px) {
  .secAboutBubble {
    width: 100%;
  }
}

.secAbout__titleArea {
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 0.5rem;
}

@media screen and (max-width: 600px) {
  .secAbout__titleArea {
    row-gap: 0.8rem;
  }
}

.secAbout__title {
  font-size: 2.125rem;
  font-weight: 700;
  letter-spacing: 0.03rem;
}

@media screen and (max-width: 600px) {
  .secAbout__title {
    font-size: 1.85rem;
    letter-spacing: normal;
  }
}

.secAbout__titleMarker {
  font-size: 2.125rem;
  color: #e616ae;
}

@media screen and (max-width: 600px) {
  .secAbout__titleMarker {
    font-size: 1.85rem;
  }
}

.secAbout__subTitle {
  width: 66.7%;
  min-width: 500px;
}

@media screen and (max-width: 600px) {
  .secAbout__subTitle {
    width: 98%;
    min-width: auto;
  }
}

.secAbout__subTitle img {
  width: 100%;
  margin: 0 auto;
}

.secAbout__findingsItems {
  display: flex;
  justify-content: space-between;
  width: 100%;
}

@media screen and (max-width: 830px) {
  .secAbout__findingsItems {
    flex-direction: column;
    row-gap: 5rem;
  }
}

.secAbout__findingsItem {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 47.3%;
  padding: 1.625rem 1.2rem;
  background-color: #ffffff;
  box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.15);
}

@media screen and (max-width: 830px) {
  .secAbout__findingsItem {
    width: 100vw;
    margin: 0 calc(50% - 50vw);
    padding: 2rem calc(50vw - 50%) 2.3rem calc(50vw - 50%);
  }
}

.secAbout__findingsTab {
  position: absolute;
  left: 0;
  bottom: 100%;
  display: inline-block;
  padding: 0.3rem 1.2rem;
  font-size: 1.3rem;
  font-weight: 700;
  color: #ffffff;
  background-color: #0d1b36;
  border-radius: 16px 16px 0 0;
}

@media screen and (max-width: 600px) {
  .secAbout__findingsTab {
    left: 5%;
    font-size: 1.5rem;
    padding: 0.2rem 0.8rem;
  }
}

.secAbout__profilePhoto {
  position: absolute;
  top: -5%;
  right: -8%;
  width: 40%;
  filter: drop-shadow(0px 3px 6px rgba(0, 0, 0, 0.15));
}

@media screen and (max-width: 830px) {
  .secAbout__profilePhoto {
    top: -8%;
    right: 3%;
    width: 30%;
  }
}

@media screen and (max-width: 600px) {
  .secAbout__profilePhoto {
    top: -5%;
    right: 4%;
    width: 36%;
  }
}

.secAbout__profilePhoto img {
  width: 100%;
}

.secAbout__findingsLoggo {
  width: auto;
  height: 2.6rem;
}

.secAbout__findingsLoggo img {
  width: auto;
  height: 100%;
}

.secAbout__profile {
}

.secAbout__name {
  display: flex;
  flex-direction: column;
  font-size: 1.125rem;
  font-weight: 700;
}

@media screen and (max-width: 600px) {
  .secAbout__name {
    font-size: 1.3rem;
  }
}

.secAbout__namepPosition {
  font-size: 0.75rem;
  font-weight: 500;
}

@media screen and (max-width: 600px) {
  .secAbout__namepPosition {
    font-size: 0.9rem;
  }
}

.secAbout__text {
  font-size: 0.75rem;
  font-weight: 600;
}

@media screen and (max-width: 600px) {
  .secAbout__text {
    font-size: 0.9rem;
    line-height: 1.5;
  }
}

.secAbout__textBald {
  font-weight: 700;
}

.secAbout__biographyTitle {
  font-size: 1.125rem;
  font-weight: 600;
  color: #98d4fa;
}

@media screen and (max-width: 600px) {
  .secAbout__biographyTitle {
    font-size: 1.3rem;
  }
}

.secAbout__biographyTextYear {
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.139rem;
}

@media screen and (max-width: 600px) {
  .secAbout__biographyTextYear {
    font-size: 1rem;
  }
}

.secAbout__biographyText {
  font-size: 0.875rem;
  letter-spacing: 0.13rem;
}

@media screen and (max-width: 600px) {
  .secAbout__biographyText {
    font-size: 1rem;
    line-height: 1.5;
  }
}

.secAbout__biographyText--small {
  display: block;
  font-size: 0.625rem;
}

@media screen and (max-width: 600px) {
  .secAbout__biographyText--small {
    font-size: 0.8rem;
  }
}

.deco-arrow {
  width: 23%;
}

@media screen and (max-width: 600px) {
  .deco-arrow {
    width: 64%;
  }
}

.deco-arrow img {
  width: 100%;
}

.secAbout__title--medium {
  font-size: 1.875rem;
  letter-spacing: 0.03rem;
}

@media screen and (max-width: 600px) {
  .secAbout__title--medium {
    font-size: 2rem;
    line-height: 1.2;
  }
}

.secAbout__title--small {
  font-size: 1.065rem;
  font-weight: 600;
  letter-spacing: 0.03rem;
}

@media screen and (max-width: 600px) {
  .secAbout__title--small {
    font-size: 1.15rem;
  }
}

.secAboutStep__items {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.secAboutStep__item {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

@media screen and (max-width: 600px) {
  .secAboutStep__item {
    flex-direction: column-reverse;
  }
}

.secAboutStep__left {
  width: 35.6%;
}

.secAboutStep__right {
  width: 50.2%;
  letter-spacing: normal;
}

@media screen and (max-width: 600px) {
  .secAboutStep__left {
    width: 100%;
  }

  .secAboutStep__right {
    width: 100%;
  }
}

.secAboutStep__left img,
.secAboutStep__right img {
  width: 100%;
}

.secAboutStep__textStep {
  font-size: 0.8125rem;
  font-weight: 600;
  color: #406590;
}

@media screen and (max-width: 600px) {
  .secAboutStep__textStep {
    font-size: 0.95rem;
  }
}

.secAboutStep__textTitle {
  font-size: 1.375rem;
  font-weight: 700;
}

.secAboutStep__text {
  font-size: 1.0625rem;
  font-weight: 600;
}

@media screen and (max-width: 600px) {
  .secAboutStep__text {
    font-size: 1.15rem;
  }
}

.deco-arrow-medium {
  width: 32.5%;
}

@media screen and (max-width: 600px) {
  .deco-arrow-medium {
    width: 64.5%;
  }
}

.deco-arrow-medium img {
  width: 100%;
}

.secAboutStepBubble {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 66.4%;
  max-width: 600px;
}

.secAboutStepBubble img {
  width: 100%;
}

@media screen and (max-width: 600px) {
  .secAboutStepBubble {
    width: 100%;
    max-width: none;
  }
}

/*---------------------------------------------

	アバウト

---------------------------------------------*/

.secCost {
  padding-bottom: 10.625rem;
}

.secCost__items {
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 5rem;
}

@media screen and (max-width: 600px) {
  .secCost__items {
    row-gap: 1.5rem;
  }
}

.secCost__item {
  display: flex;
  justify-content: space-between;
  width: 86%;
}

@media screen and (max-width: 600px) {
  .secCost__item {
    flex-direction: column-reverse;
    row-gap: 0.5rem;
    width: 100%;
  }
}

.secCost__item:last-child {
  position: relative;
  flex-direction: row-reverse;
}

@media screen and (max-width: 600px) {
  .secCost__item:last-child {
    flex-direction: column-reverse;
  }
}

.secCost__deco img {
  width: 100%;
}

.secCost__deco01 {
  position: absolute;
  bottom: 90%;
  left: -15%;
  width: 11.3%;
}

.secCost__deco02 {
  position: absolute;
  top: 75%;
  right: -10%;
  width: 16.4%;
}

@media screen and (max-width: 1000px) {
  .secCost__deco02 {
    top: 105%;
    right: 0;
  }
}

@media screen and (max-width: 600px) {
  .secCost__deco02 {
    top: 100%;
    right: 0;
    width: 31%;
  }
}

.secCost__deco img {
  width: 100%;
}

.secCost__textArea {
  width: 43.2%;
}

.secCost__photoArea {
  width: 50%;
}

@media screen and (max-width: 600px) {
  .secCost__textArea {
    width: 100%;
  }

  .secCost__photoArea {
    width: 100%;
  }
}

.secCost__photoArea img {
  width: 100%;
}

.secCost__title {
  font-size: 1.5rem;
  font-weight: 700;
}

@media screen and (max-width: 600px) {
  .secCost__title {
    font-size: 1.7rem;
  }
}

.secCost__titleMarker {
  font-size: 1.75rem;
  color: #e616ae;
  font-weight: 700;
}

.secCost__text--small {
  font-size: 0.9rem;
  font-weight: 600;
}

@media screen and (max-width: 600px) {
  .secCost__text--small {
    font-size: 1rem;
  }
}

/*---------------------------------------------

	アバウト

---------------------------------------------*/

.secContact {
  padding: 4.25rem 0;
  background-color: #406590;
}

@media screen and (max-width: 600px) {
  .secContact {
    padding: 2.8rem 0;
  }
}

.secContactInner {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.secContact__item {
  display: flex;
  justify-content: space-around;
  align-items: center;
}

.util-button-wrapper.util-button-wrapper-sp {
  display: none;
}

@media screen and (max-width: 600px) {
  .secContact__item {
    flex-direction: column;
    width: 100%;
  }

  .util-button-wrapper.util-button-wrapper-sp {
    display: inline-block !important;
  }

  .util-button-wrapper-pc {
    display: none;
  }
}

.secContact__photoArea {
  width: 20.7%;
}

@media screen and (max-width: 600px) {
  .secContact__photoArea {
    width: 25.7%;
  }
}

.secContact__photoArea img {
  width: 100%;
}

.secContact__textArea {
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 2.25rem;
  width: 69%;
}

.secContact__ttl {
  text-align: center;
}

.secContact__text {
  font-size: 1.5625rem;
  font-weight: 700;
  color: #ffffff;
  letter-spacing: normal;
}

.secContact__campaign {
  font-size: clamp(30px, calc(18.551020408163268px + 2.2448979591836733vw), 41px);
  line-height: 1.2;
  font-weight: 700;
  color: #ffffff;
  letter-spacing: normal;
  margin-bottom: 0;
}

.secContact__campaign_img {
  text-align: center;
}

.secContact__campaign_img img {
  max-width: 255px;
  margin: 0 auto;
}

.secContact__campaign_info {
  width: 100%;
  background: #5d7da1;
  color: #fff;
  border-radius: 11px;
  padding: 20px;
}

.secContact__campaign_info ul li {
  margin-bottom: 20px;
}

.secContact__campaign_info .small {
  font-size: 0.9em;
}

.secContact__campaign_info_ttl {
  font-size: 1.4625rem;
}

.secContact__campaign_info_ttl + p {
  font-size: 1.1625rem;
}

.secContact__campaign_flow {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
  /* justify-content: center; */
  color: #ffffff;
}

.secContact__campaign_flow_ttl {
  border: 1px solid #fff;
  padding: 5px;
}

@media screen and (max-width: 600px) {
  .secContact__text {
    font-size: 1rem;
    text-align: left;
  }

  .secContact__textArea {
    width: 100%;
  }
}

/*---------------------------------------------

	比較

---------------------------------------------*/

.secComparison {
  background-color: #fcfeff;
}

.secComparison__img {
  width: 100%;
  filter: drop-shadow(0px 3px 6px rgba(0, 0, 0, 0.15));
}

@media screen and (max-width: 600px) {
  .secComparison__img {
    width: 100%;
    margin-top: -15%;
  }
}

.secComparison__img img {
  width: 100%;
}

/*---------------------------------------------

	事例

---------------------------------------------*/

.secCase {
  /* overflow: hidden; */
}

.secCase__titleArea {
  width: calc(100% / 2.05);
  margin-bottom: 70px;
  align-self: center;
  /* display: flex;
  flex-direction: column;
  align-content: flex-end;
  flex-wrap: wrap;
  text-align: left; */
}

@media screen and (max-width: 600px) {
  .secCase__titleArea {
    text-align: right;
  }
}

.secCase__subTitleMarker {
  font-size: 1.125rem;
  color: #e616ae;
}

.secCase__item {
  position: relative;
  /* margin-right: -30px;
  margin-left: calc(50% - 50vw);
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
  padding-right: 2.8125rem;
  padding-left: calc(50vw - 50%);
  background-color: #FFFFFF;
  box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.15);
  border-radius: 0 23px 23px 0; */
  box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.15);
  padding: 20px;
  border-radius: 7px;
  margin-bottom: 70px;
  width: calc(100% / 2.05);
}

.secCase__item_ciecle {
  position: absolute;
  right: 0;
  top: -15%;
  width: 20%;
}

.secCase__item .secCase__itemText {
  margin-top: 10px;
  margin-bottom: 20px;
}

.secCase__item .secCase__itemMarker {
  margin-bottom: 20px;
  text-align: center;
  font-weight: bold;
  color: #e616ae;
  font-size: 18px;
}

.secCase__item_ttl {
  color: #0d1b36;
}

.secCase__item_ttl p {
  margin-bottom: 5px;
}

.secCase__item_ttl .secCase__item_ttl_bg {
  background: #0d1b36;
  color: #fff;
  display: inline-block;
  border-radius: 50px;
  margin-right: 10px;
  padding: 5px 20px;
}

.secCase__text {
  text-align: center;
  font-weight: bold;
  font-size: clamp(20px, calc(12.666666666666668px + 1.8333333333333333vw), 31px);
  font-family: "mb", sans-serif;
}

@media screen and (max-width: 600px) {
  .secCase__item {
    border-radius: 0;
  }
}

.secCase__item img {
  width: 100%;
}

@media screen and (max-width: 600px) {
  .secCase__item img {
    width: 100%;
    margin: 0 auto;
  }

  .secCase__item_ciecle {
    width: 30%;
  }
}

.secCase__itemInner {
  width: 100%;
  display: flex;
  align-content: flex-end;
  justify-content: space-between;
  flex-wrap: wrap;

  /* width: 80%;
  padding-bottom: 1rem; */
}

@media screen and (max-width: 840px) {
  .secCase__itemInner {
    flex-direction: column;
  }

  .secCase__item,
  .secCase__titleArea {
    width: 100%;
    padding: 15px;
  }
}

.secAbout .secCase {
  margin-bottom: 130px;
}

@media screen and (max-width: 840px) {
  .secAbout .secCase {
    margin-bottom: 10px;
  }
}

.secCaseProtea__itemInner {
  display: flex;
  flex-wrap: wrap;
}

.secCaseProtea__itemInner .secCaseProtea__item:first-child{
  width: 40%;
}
.secCaseProtea__itemInner .secCaseProtea__item:last-child{
  width: 58%;
}

.secCaseProtea__itemInner .secCaseProtea__item .secCase__text {
  text-align: left;
  display: inline-block;
  margin: 5% auto 0;
}

@media screen and (max-width: 840px) {
  .secCaseProtea__itemInner .secCaseProtea__item .secCase__text {
    width: 100%;
    text-align: center;
  }
}

.secCaseProtea__item {
  width: calc(100% / 2.05);
}

.secCaseProtea__item_img {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-content: space-between;
}

.secCaseProtea__item img {
  max-width: 100%;
}

.secCaseProtea__item_ttl {
  text-align: center;
  font-weight: bold;
  padding: 80px 0;
  font-size: clamp(14px, 0.816rem + 0.3vw, 17px);
  position: relative;
}

.secCaseProtea__item_ttl > p {
    position: relative;
      z-index: 2;
}


.secCaseProtea__item_ttl::after,
.secCaseProtea__item_ttl::before {
  content: "";
  position: absolute;
  display: block;
  /* top: 0px; */
  top: 11px;
  width: 102px;
  height: 200px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  z-index: 1;
}

.secCaseProtea__item_ttl::after {
  background-image: url("../img/case-protea-ttl-left.png");
  left: 0;
  background-position: top left;
}

.secCaseProtea__item_ttl::before {
  background-image: url("../img/case-protea-ttl-right.png");
  right: 0;
  background-position: top right;
}

.secCaseProtea__itemTtlMarker {
  font-size: 1.5em;
  color: #e616ae;
}

@media screen and (max-width: 840px) {
  .secCase__itemInner {
    width: 100%;
    flex-direction: column;
  }

  .secCaseProtea__item,
  .secCaseProtea__itemInner {
    width: 100% !important;
  }

  .secCaseProtea__itemInner {
    justify-content: center !important;
  }

  .secCaseProtea__item {
    margin-bottom: 40px;
  }
}

/*---------------------------------------------

	値段

---------------------------------------------*/

.secPrice {
  overflow: hidden;
}

.secPriceInner {
  display: flex;
  justify-content: space-between;
}

@media screen and (max-width: 600px) {
  .secPriceInner {
    flex-direction: column;
  }
}

.secPrice__itemInner {
  width: 80%;
  padding-bottom: 1rem;
}

@media screen and (max-width: 600px) {
  .secPrice__itemInner {
    width: 100%;
  }
}

.secPrice__item {
  margin-right: calc(50% - 50vw);
  margin-left: -30px;
  padding-top: 5.8125rem;
  padding-bottom: 4.6875rem;
  padding-right: calc(50vw - 50%);
  padding-left: 2.8125rem;
  background-color: #ffffff;
  box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.15);
  border-radius: 23px 0 0 23px;
}

@media screen and (max-width: 600px) {
  .secPrice__item {
    margin: 0 calc(50% - 50vw);
    padding: 2.5rem calc(50vw - 50%);
    border-radius: 0;
  }
}

.secPrice__itemTitleArea {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 2.875rem;
}

@media screen and (max-width: 600px) {
  .secPrice__itemTitleArea {
  }
}

.secPrice__itemTitle {
  padding: 1rem 2.6875rem;
  font-size: 1.5rem;
  font-weight: 700;
  color: #ffffff;
  background-color: #0d1b36;
  border-radius: 50px;
}

@media screen and (max-width: 600px) {
  .secPrice__itemTitle {
    padding: 0.6rem 1rem;
    font-size: 1.15rem;
  }
}

.secPrice__itemTitleText {
  font-size: 1.75rem;
}

@media screen and (max-width: 600px) {
  .secPrice__itemTitleText {
    font-size: 1.6rem;
  }
}

.secPrice__itemTitleTextMarker {
  font-size: 2.6875rem;
  font-weight: 700;
}

@media screen and (max-width: 600px) {
  .secPrice__itemTitleTextMarker {
    font-size: 2.45rem;
  }
}

.secPrice__itemTextArea {
  display: flex;
  justify-content: space-between;
}

@media screen and (max-width: 830px) {
  .secPrice__itemTextArea {
    row-gap: 2rem;
    flex-direction: column;
  }
}

.secPrice__itemTextArea--left {
  width: 49%;
}

@media screen and (max-width: 830px) {
  .secPrice__itemTextArea--left {
    display: flex;
    justify-content: space-between;
    width: 100%;
  }
}

.secPrice__itemTextTitle {
  font-size: 1.375rem;
  font-weight: 700;
}

@media screen and (max-width: 600px) {
  .secPrice__itemTextTitle {
    font-size: 1.15rem;
  }
}

.secPrice__itemTextSubTitle {
  font-size: 0.875rem;
  letter-spacing: normal;
}

@media screen and (max-width: 830px) {
  .secPrice__itemTextSubTitle {
    width: 65%;
    font-size: 1rem;
  }
}

.secPrice__itemText--left {
  font-size: 1.0625rem;
  font-weight: 600;
}

@media screen and (max-width: 600px) {
  .secPrice__itemText--left {
    font-size: 1.25rem;
  }
}

.secPrice__itemTextArea--right {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}

@media screen and (max-width: 600px) {
  .secPrice__itemTextArea--right {
    justify-content: space-between;
  }
}

.secPrice__itemTextAreaItem {
  display: flex;
  column-gap: 1.4rem;
  align-items: center;
}

@media screen and (max-width: 830px) {
  .secPrice__itemTextAreaItem {
    width: 100%;
    justify-content: space-between;
  }
}

.secPrice__itemText--right {
  font-size: 0.875rem;
}

@media screen and (max-width: 600px) {
  .secPrice__itemText--right {
    font-size: 1rem;
  }
}

.secPrice__itemText--right span {
  font-size: 1.5rem;
  font-weight: 600;
}

@media screen and (max-width: 600px) {
  .secPrice__itemText--right span {
    font-size: 1.74rem;
  }
}

/*---------------------------------------------

	貴社専用AIツール開発

---------------------------------------------*/

.secExplanation {
  margin-bottom: 8.5625rem;
}

@media screen and (max-width: 600px) {
  .secExplanation {
    margin-bottom: 10.5625rem;
  }
}

.secExplanationInner {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.secExplanation__title {
  width: 75.4%;
  padding: 1.2rem 0;
  margin-bottom: 2.25rem;
  font-size: 1.5rem;
  font-weight: 700;
  color: #ffffff;
  background-color: #0d1b36;
  border-radius: 50px;
}

@media screen and (max-width: 600px) {
  .secExplanation__title {
    width: 58.4%;
    padding: 0.6rem 0;
    font-size: 1.15rem;
  }
}

.secExplanation__texArea {
  display: flex;
  flex-direction: column;
  row-gap: 1rem;
}

.secExplanation__text {
  font-size: 2.125rem;
  font-weight: 700;
  line-height: 1;
}

@media screen and (max-width: 600px) {
  .secExplanation__text {
    font-size: 2.5rem;
  }
}

.secExplanation__texArea--small {
  font-size: 1.0625rem;
  font-weight: 600;
}

@media screen and (max-width: 600px) {
  .secExplanation__texArea--small {
    font-size: 1.15rem;
  }
}

.secExplanation__deco {
  position: absolute;
  left: -5%;
  bottom: 0%;
  width: 9.125rem;
}

@media screen and (max-width: 600px) {
  .secExplanation__deco {
    left: -2%;
    bottom: -50%;
    width: 26.5%;
  }
}

.secExplanation__deco img {
  width: 100%;
}

/*---------------------------------------------

	流れ

---------------------------------------------*/
.secFlow {
  padding: 4.625rem 0;
  margin-bottom: 7.875rem;
  background-color: #f8fdff;
}

@media screen and (max-width: 600px) {
  .secFlow {
    padding: 2.5rem 0 6.2rem 0;
    margin-bottom: 9rem;
  }
}

.secFlowInner {
  position: relative;
  display: flex;
  flex-direction: column;
}

.secFlow__itemsInner {
  width: 100%;
  display: flex;
  justify-content: center;
}

.secFlow__items {
  display: flex;
  justify-content: center;
  flex-direction: column;
  width: 80%;
}

@media screen and (max-width: 600px) {
  .secFlow__items {
    width: 100%;
  }
}

.secFlow__item {
  display: flex;
  align-items: flex-start;
  column-gap: 1.3125rem;
}

@media screen and (max-width: 600px) {
  .secFlow__item {
    column-gap: 0.8rem;
  }
}

.secFlow__photoArea {
  width: 13.4%;
  position: relative;
}

@media screen and (max-width: 600px) {
  .secFlow__photoArea {
    width: 19.2%;
  }
}

.secFlow__photoArea img {
  width: 100%;
  object-fit: contain;
}

.secFlow__textArea {
  flex: 1;
  padding-top: 2rem;
  letter-spacing: normal;
  line-height: 1.3;
}

@media screen and (max-width: 600px) {
  .secFlow__textArea {
    padding-top: 0;
  }
}

.secFlow__textTitle {
  font-size: 1.5rem;
}

@media screen and (max-width: 600px) {
  .secFlow__textTitle {
    font-size: 1.08rem;
  }
}

.secFlow__text {
  font-size: 0.9375rem;
}

@media screen and (max-width: 600px) {
  .secFlow__text {
    font-size: 1.1rem;
  }
}

.secFlow__text--small {
  font-size: 0.875rem;
}

@media screen and (max-width: 600px) {
  .secFlow__text--small {
    font-size: 1rem;
  }
}

.secFlow__deco {
  position: absolute;
  top: 95%;
  right: -3%;
  width: 32%;
}

@media screen and (max-width: 1020px) {
  .secFlow__deco {
    width: 22%;
    top: 103%;
  }
}

@media screen and (max-width: 600px) {
  .secFlow__deco {
    top: 105%;
    right: -5%;
    width: 50%;
  }
}

.secFlow__deco img {
  width: 100%;
}

/*---------------------------------------------

	実績

---------------------------------------------*/
.secAchievements {
  margin-bottom: 8.9375rem;
}

@media screen and (max-width: 600px) {
  .secAchievements {
    margin-bottom: 7rem;
  }
}

.secAchievements__title {
  display: flex;
  column-gap: 0.5rem;
  align-items: center;
  justify-content: center;
}

@media screen and (max-width: 600px) {
  .secAchievements__title {
    font-size: 1.5rem;
  }
}

.secAchievements__logo {
  width: 12.5rem;
}

@media screen and (max-width: 600px) {
  .secAchievements__logo {
    width: 10rem;
  }
}

.secAchievements__item {
  width: 100%;
}

.secAchievements__item img {
  width: 100%;
}

.secAchievements__text {
  text-align: right;
  font-size: 0.875rem;
  font-weight: 600;
}

.accordionArea .accordionBlock .questionBody {
  position: relative;
  z-index: +1;
  cursor: pointer;
  transition: 0.2s;
}

.accordionArea .accordionBlock .questionBody.open {
  padding-bottom: 1.5rem;
  margin-bottom: 1.5rem;
  border-bottom: solid 1px #0d1b36;
}

.accordionArea .accordionBlock .questionBody .i_box {
  position: absolute;
  top: 50%;
  right: 1rem;
  margin-top: -10px;
  font-size: 1.0625rem;
  color: #cccccc;
  transform: rotate(-90deg);
}

.accordionArea .accordionBlock .questionBody.open .i_box {
  transform: rotate(90deg);
}

@media screen and (max-width: 600px) {
  .accordionArea .accordionBlock .questionBody .i_box {
    right: 0;
  }
}

.accordionArea .accordionBlock .answerBody {
  display: none;
  box-sizing: border-box;
}

.accordionBlock {
  display: flex;
  flex-direction: column;
  margin-bottom: 1.9rem;
  padding: 1.625rem;
  border: solid 1px #0d1b36;
}

@media screen and (max-width: 600px) {
  .accordionBlock {
    padding: 1.7rem 1rem;
  }
}

/*---------------------------------------------

	FAQ

---------------------------------------------*/

.questionBodyinner {
  display: flex;
  align-items: center;
  column-gap: 1rem;
  position: relative;
  line-height: 1.5;
  padding-right: 3.5rem;
}

@media screen and (max-width: 600px) {
  .questionBodyinner {
    padding-right: 1.5rem;
  }
}

.questionBodyinner .deco {
  color: #406591;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 100%;
}

@media screen and (max-width: 600px) {
  .questionBodyinner .deco {
    font-size: 1.4rem;
  }
}

/* 質問 */
.questionBodyinner p.question_text {
  color: #0d1b36;
  font-size: 1.0625rem;
  font-weight: 600;
  line-height: 180%;
  letter-spacing: normal;
}

@media screen and (max-width: 600px) {
  .questionBodyinner p.question_text {
    font-size: 1.15rem;
  }
}

/* 回答 */
.answerBodyinner p.answer_text {
  color: #0d1b36;
  font-size: 1rem;
  font-weight: 600;
  line-height: 180%;
  letter-spacing: normal;
}

@media screen and (max-width: 600px) {
  .answerBodyinner p.answer_text {
    font-size: 1.15rem;
  }
}

.answerBodyinner {
  position: relative;
  display: flex;
  column-gap: 1rem;
  position: relative;
  line-height: 1.5;
}

.answerBodyinner .deco {
  color: #0d1b36;
  font-size: 1.5rem;
  font-weight: 700;
  color: #d28e19;
  line-height: 100%;
}

@media screen and (max-width: 600px) {
  .answerBodyinner .deco {
    font-size: 1.4rem;
  }
}

/*---------------------------------------------

	問い合わせ

---------------------------------------------*/
.form-group {
  display: flex;
  justify-content: space-between;
  margin-bottom: 2.8rem;
}

@media screen and (max-width: 600px) {
  .form-group {
    flex-direction: column;
    margin-bottom: 1.8rem;
  }
}

.form-group.message {
  margin-bottom: 3.2rem;
}

@media screen and (max-width: 600px) {
  .form-group.message {
    margin-bottom: 3rem;
  }
}

.form-group.checkbox {
  margin-bottom: 4rem;
}

.form-group.checkbox label {
  font-size: 1.1rem;
  font-family: "Noto Sans JP", sans-serif;
  margin: 0 auto;
}

.form-group.submit {
  display: flex;
  justify-content: center;
}

label {
  display: block;
  font-weight: bold;
  margin-bottom: 5px;
  color: #0d1b36;
  font-size: 1.5rem;
}

@media screen and (max-width: 600px) {
  label {
    font-size: 1.15rem;
  }
}

.required {
  color: #d32f2f;
  font-size: 0.7rem;
}

input[type="text"],
input[type="tel"],
input[type="email"],
textarea {
  width: 70%;
  padding: 10px;
  border: 2px solid #000000;
  box-sizing: border-box;
  font-size: 1rem;
  line-height: 2;
}

.checkbox-bk {
  width: 70%;
  padding: 10px;
  box-sizing: border-box;
  font-size: 1rem;
  line-height: 2;
}

.checkbox-bk label {
  display: inline-block;
  padding-left: 5px;
}

.checkbox-ttl {
  display: block;
  font-weight: bold;
  margin-bottom: 5px;
  color: #0d1b36;
  font-size: 1.5rem;
}

@media screen and (max-width: 840px) {
  input[type="text"],
  input[type="tel"],
  input[type="email"],
  textarea,
  .checkbox-bk {
    width: 60%;
  }
}

@media screen and (max-width: 600px) {
  input[type="text"],
  input[type="tel"],
  input[type="email"],
  textarea,
  .checkbox-bk {
    width: 100%;
  }
}

textarea#message {
  height: 19rem;
}

@media screen and (max-width: 600px) {
  textarea#message {
    height: 17rem;
  }
}

textarea {
  resize: vertical;
}

.privacy-policy {
  width: 80%;
  height: 12rem;
  overflow: scroll;
  border: 2px solid #000000;
  padding: 2rem 2.5rem;
  margin: 0 auto 1.8rem auto;
}

@media screen and (max-width: 600px) {
  .privacy-policy {
    width: 100%;
    height: 19.7rem;
    padding: 0.8rem 0.5rem;
  }
}

.privacy-policy p {
  font-size: 0.9rem;
  font-weight: 600;
  letter-spacing: normal;
  line-height: 2;
  font-family: "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", sans-serif;
}

@media screen and (max-width: 600px) {
  .privacy-policy p {
    font-size: 1rem;
    line-height: 2.2;
  }
}

button[type="submit"] {
  min-width: 23.2rem;
  padding: 1.3rem 0;
  background-color: #ffffff;
  border: #406590 solid 1px;
  color: #406590;
  border-radius: 10px;
  font-size: 1.1rem;
  cursor: pointer;
  transition: 0.3s;
}

@media screen and (max-width: 600px) {
  button[type="submit"] {
    width: 100%;
    min-width: auto;
  }
}

button[type="submit"]:hover {
  color: #fff;
  background-color: #163c6b;
}

/*---------------------------------------------

	フッター

---------------------------------------------*/

.secFooterCopy {
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: normal;
  font-size: 0.75rem;
  font-weight: 500;
  text-align: center;
  color: #0d1b36;
}

@media screen and (max-width: 600px) {
  .secFooterCopy {
    font-size: 0.9rem;
  }
}
