@charset "UTF-8";
picture.profetai_01 {
  max-width: 1006px;
  margin: var(--space5) auto 0 auto; }

.border_bar {
  width: fit-content;
  position: relative; }
  .border_bar::before {
    content: "";
    position: absolute;
    top: calc( 100% + var(--space1) );
    height: 4px;
    width: 100%;
    background: var(--secondaryColor);
    left: 0;
    transition: var(--animationDuration) transform;
    transform-origin: left center; }
  .border_bar:not(.active)::before {
    transform: scaleX(0); }

.picture_solution_outline {
  max-width: 946px;
  margin: 0 auto 0 auto; }

.content_title_solution_detail .box_wrap {
  display: flex;
  flex-direction: column;
  grid-gap: var(--space3) var(--space4); }
  .content_title_solution_detail .box_wrap .title_wrap .category {
    color: #FFF;
    background: var(--colorBlack);
    padding: 5px var(--space2);
    width: fit-content;
    font-size: var(--fontSize_l); }
  .content_title_solution_detail .box_wrap .here {
    max-width: 469px; }
@media (min-width: 768px) {
  .content_title_solution_detail .box_wrap {
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-end; }
    .content_title_solution_detail .box_wrap .here {
      height: 100%;
      width: 50%; } }
@media (min-width: 1280px) {
  .content_title_solution_detail .box_wrap .here {
    height: 180px;
    width: 400px; }
    .content_title_solution_detail .box_wrap .here picture {
      height: 249px;
      width: 469px;
      max-width: none; } }

.section_cont_about .logo.logo_manufactX {
  max-width: 505px;
  margin: var(--space4) auto var(--space4) auto; }
.section_cont_about .features {
  display: flex;
  flex-wrap: wrap;
  grid-gap: var(--space1) var(--space2);
  justify-content: center;
  align-items: center; }
  .section_cont_about .features .feature {
    border-radius: 999px;
    background: var(--colorBlack);
    color: #FFF;
    padding: 5px var(--space2); }
.section_cont_about .columns {
  --columnColumnGap:calc( var(--space4) + var(--space2) );
  --columnRowGap:calc( var(--space4) + var(--space4) ); }
  .section_cont_about .columns .column {
    display: flex;
    flex-direction: column;
    grid-gap: var(--space2);
    position: relative; }
    .section_cont_about .columns .column::nth-child(2) {
      z-index: 4; }
    .section_cont_about .columns .column::nth-child(3) {
      z-index: 5; }
    .section_cont_about .columns .column .info {
      display: flex;
      flex-direction: column;
      align-items: center;
      grid-gap: var(--space1); }
      .section_cont_about .columns .column .info .text.ex {
        font-size: var(--fontSize_s);
        line-height: 1.5; }
    .section_cont_about .columns .column .arrow_wrap {
      width: 82px;
      height: 82px; }
      .section_cont_about .columns .column .arrow_wrap .icon {
        width: 118px;
        height: 55px;
        background-image: url("../images/common/icon_cloud_service.png");
        z-index: 5; }
      .section_cont_about .columns .column .arrow_wrap .arrow {
        width: 100%;
        height: 100%;
        color: #FFF;
        position: relative;
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: var(--fontSize_ss);
        text-align: center; }
        .section_cont_about .columns .column .arrow_wrap .arrow .inner {
          position: relative;
          z-index: 2; }
        .section_cont_about .columns .column .arrow_wrap .arrow::before {
          height: 100%;
          width: 100%;
          background: url("../images/common/flow_arrow.png") no-repeat center center;
          background-size: contain;
          content: "";
          position: absolute;
          z-index: 1; }
@media (max-width: 767px) {
  .section_cont_about .columns .column .arrow_wrap {
    bottom: auto;
    top: calc( 100% + var(--space2) ); }
    .section_cont_about .columns .column .arrow_wrap .arrow {
      -ms-writing-mode: tb-rl;
      writing-mode: vertical-rl; }
      .section_cont_about .columns .column .arrow_wrap .arrow .combine {
        -webkit-text-combine: horizontal;
        -ms-text-combine-horizontal: all;
        text-combine-upright: all; }
      .section_cont_about .columns .column .arrow_wrap .arrow::before {
        transform: rotate(90deg); }
    .section_cont_about .columns .column .arrow_wrap .icon {
      right: auto;
      left: 100%;
      bottom: var(--space4); }
  .section_cont_about .features .feature {
    width: 100%;
    text-align: center; } }
@media (min-width: 768px) {
  .section_cont_about .columns .column .arrow_wrap {
    left: calc( 100% - var(--space1) );
    right: auto;
    bottom: var(--space5); }
    .section_cont_about .columns .column .arrow_wrap .arrow .inner {
      margin-right: var(--space1); }
    .section_cont_about .columns .column .arrow_wrap .icon {
      top: auto;
      bottom: 100%;
      left: calc( -1 * var(--space2) ); } }

.section_cont_results .columns .column {
  display: flex;
  flex-direction: column;
  grid-gap: var(--space1); }
  .section_cont_results .columns .column .photo {
    position: relative; }
    .section_cont_results .columns .column .photo .point {
      width: 100%;
      height: 100%;
      box-sizing: border-box;
      padding: calc( var(--space1) / 2);
      display: flex;
      justify-content: center;
      align-items: center; }
      .section_cont_results .columns .column .photo .point::before {
        content: "";
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
        background: var(--colorBlack);
        opacity: 0.66;
        filter: Alpha(opacity=66); }
      .section_cont_results .columns .column .photo .point .inner {
        position: relative;
        z-index: 1;
        line-height: normal;
        text-align: center;
        color: #FFF;
        font-size: var(--fontSize_ss); }
        .section_cont_results .columns .column .photo .point .inner strong {
          font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
          font-optical-sizing: auto;
          font-weight: 600;
          font-style: normal;
          font-size: 150%; }
  .section_cont_results .columns .column .info {
    display: flex;
    flex-direction: column;
    grid-gap: var(--space1); }
    .section_cont_results .columns .column .info .title {
      font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
      font-optical-sizing: auto;
      font-weight: 600;
      font-style: normal;
      color: var(--secondaryColor); }
    .section_cont_results .columns .column .info .text {
      font-size: var(--fontSize_s);
      line-height: 1.5; }
@media (min-width: 521px) {
  .section_cont_results .columns .column .photo .point .inner {
    font-size: var(--fontSize_n); }
    .section_cont_results .columns .column .photo .point .inner strong {
      font-size: 150%; } }

.section_cont_functions .functions_ids_wrap {
  max-width: 852px;
  margin-left: auto;
  margin-right: auto; }
  .section_cont_functions .functions_ids_wrap .caption {
    margin-top: var(--space1);
    text-align: right;
    font-size: var(--fontSize_ss); }
.section_cont_functions .logo.logo_densowave {
  margin: 0 0 var(--space3) auto;
  width: 210px; }
.section_cont_functions .columns {
  --columnColumnGap:calc( var(--space5) * 2);
  --columnRowGap:var(--space5); }
  .section_cont_functions .columns .column {
    display: flex;
    flex-direction: column;
    grid-gap: var(--space2);
    position: relative; }
    .section_cont_functions .columns .column:not(:last-child)::after {
      width: 100%;
      height: 1px;
      position: absolute;
      content: "";
      background: var(--baseBorderColor);
      left: 0;
      top: calc( 100% + var(--columnRowGap) / 2 ); }
  .section_cont_functions .columns .checkpoints {
    display: flex;
    flex-direction: column;
    grid-gap: var(--space1);
    color: var(--secondaryColor);
    font-size: var(--fontSize_l);
    font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
    font-optical-sizing: auto;
    font-weight: 600;
    font-style: normal; }
  .section_cont_functions .columns .edition_wrap {
    width: 100%;
    height: 120px;
    background: var(--secondaryColor);
    color: #FFF;
    padding: var(--space2);
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
    font-optical-sizing: auto;
    font-weight: 600;
    font-style: normal; }
    .section_cont_functions .columns .edition_wrap .edition {
      font-size: 2rem; }
    .section_cont_functions .columns .edition_wrap::after {
      content: "edition"; }
@media (max-width: 767px) {
  .section_cont_functions .column .column:not(:last-child)::after {
    display: none; } }
@media (min-width: 768px) {
  .section_cont_functions .columns .column:not(:last-child)::after {
    width: 1px;
    height: 100%;
    top: 0;
    left: calc( 100% + var(--columnColumnGap) / 2 ); } }

.section_cont_feature .columns .column {
  display: flex;
  flex-direction: column;
  grid-gap: var(--space2); }
  .section_cont_feature .columns .column .info {
    display: flex;
    flex-direction: column;
    grid-gap: var(--space1); }

.block_wrap.block_wrap_solution .block .head .category {
  color: #FFF;
  background: var(--colorBlack);
  padding: 5px var(--space1);
  width: fit-content; }

.solution_move .btns {
  grid-gap: 0; }
  .solution_move .btns .btn {
    border-top: 1px solid var(--colorLightGray);
    box-sizing: border-box;
    flex: 1; }
    .solution_move .btns .btn:not(:last-child) {
      border-right: 1px solid var(--colorLightGray); }
    .solution_move .btns .btn .a {
      height: 80px;
      color: var(--textColor);
      --linkArrowColor:#FFF;
      --linkArrowBackground:var(--primaryColor);
      --linkArrowBorder:var(--primaryColor);
      --circleSize:32px;
      box-sizing: border-box;
      padding: 0 var(--space1); }
      .solution_move .btns .btn .a .txt {
        font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
        font-optical-sizing: auto;
        font-weight: 600;
        font-style: normal; }
      .solution_move .btns .btn .a .icon {
        width: 56px;
        height: 56px;
        background-size: contain;
        opacity: 0.5;
        filter: Alpha(opacity=50); }
      .solution_move .btns .btn .a .txt,
      .solution_move .btns .btn .a .arrow,
      .solution_move .btns .btn .a .label {
        position: relative;
        z-index: 1; }
      .solution_move .btns .btn .a .txt_wrap {
        display: flex;
        align-items: center;
        justify-content: center;
        grid-gap: var(--space1); }
      .solution_move .btns .btn .a .arrow {
        width: var(--circleSize);
        height: var(--circleSize);
        min-width: var(--circleSize);
        max-width: var(--circleSize);
        transition: var(--animationDuration) background-color, var(--animationDuration) color;
        content: "→";
        line-height: 1;
        width: var(--circleSize);
        height: var(--circleSize);
        border-radius: 50%;
        box-sizing: border-box;
        border: 1px solid var(--linkArrowBorder);
        color: var(--linkArrowColor);
        background: var(--linkArrowBackground);
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 1rem;
        font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
        font-optical-sizing: auto;
        font-weight: 400;
        font-style: normal; }
        .solution_move .btns .btn .a .arrow::before {
          content: "→"; }
      .solution_move .btns .btn .a:hover {
        --linkArrowColor:var(--primaryColor);
        --linkArrowBackground:#FFF; }
    .solution_move .btns .btn.profetai .a .icon {
      background-image: url("../images/solution/icon_profetai.png"); }
    .solution_move .btns .btn.iotdataserver .a .icon {
      background-image: url("../images/solution/icon_iotdataserver.png"); }
    .solution_move .btns .btn.manufactx .a .icon {
      background-image: url("../images/solution/icon_manufactx.png"); }
    .solution_move .btns .btn:not(.home) .a {
      grid-gap: var(--space1); }
      .solution_move .btns .btn:not(.home) .a .label {
        width: 60px;
        height: 24px;
        background: var(--biprogyBlue2);
        color: #FFF;
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: var(--fontSize_s); }
@media (max-width: 520px) {
  .solution_move .btns .btn:not(.home) .a {
    flex-direction: column; }
    .solution_move .btns .btn:not(.home) .a .label {
      width: 40px;
      height: 18px;
      font-size: var(--fontSize_ss); }
    .solution_move .btns .btn:not(.home) .a .txt {
      font-size: var(--fontSize_ss); } }
