@charset "UTF-8";
@import url("form.css");
#mv {
  height: auto; }
  #mv .bg_wrap .bg {
    background: url("../images/home/mv.jpg") no-repeat center center;
    background-size: cover;
    width: 100%;
    height: 100%; }
  #mv .bg_wrap::after {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    background: #000;
    content: "";
    opacity: 0.33;
    filter: Alpha(opacity=33); }
  #mv.with_request .box_wrap {
    padding-top: calc(var(--headHeight) + var(--space3)); }
    #mv.with_request .box_wrap .copy_wrap {
      display: flex;
      flex-direction: column;
      grid-gap: var(--space3); }
      #mv.with_request .box_wrap .copy_wrap .copy {
        font-size: 3rem;
        font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
        font-optical-sizing: auto;
        font-weight: 600;
        font-style: normal; }
      #mv.with_request .box_wrap .copy_wrap .sub {
        font-size: var(--fontSize_ss); }
    #mv.with_request .box_wrap .request_wrap .satori__custom_form .satori__input_group {
      padding: 5px 0px !important; }
    #mv.with_request .box_wrap .request_wrap .satori__custom_form .satori__horiz_group {
      grid-gap: var(--space1); }
      #mv.with_request .box_wrap .request_wrap .satori__custom_form .satori__horiz_group > .satori__input_group {
        --labelWidth: auto; }
  @media (min-width: 521px) {
    #mv.with_request .box_wrap .copy_wrap .sub {
      font-size: var(--fontSize_n); } }
  @media (max-width: 1279px) {
    #mv.with_request .request_wrap .satori__custom_form .satori__input_group label {
      padding-bottom: 0 !important; }
    #mv.with_request .request_wrap .satori__custom_form .satori__horiz_group > .satori__input_group {
      padding-left: 0 !important; }
      #mv.with_request .request_wrap .satori__custom_form .satori__horiz_group > .satori__input_group label {
        position: relative;
        justify-content: flex-start; }
        #mv.with_request .request_wrap .satori__custom_form .satori__horiz_group > .satori__input_group label .satori__require {
          display: inline-block; } }
  @media (min-width: 1280px) {
    #mv {
      height: 100svh;
      min-height: 45svw; }
      #mv.with_request .box_wrap .copy_wrap {
        grid-gap: var(--space5); }
        #mv.with_request .box_wrap .copy_wrap .copy {
          font-size: 4rem; }
      #mv.with_request .request_wrap {
        margin-top: var(--space2);
        min-width: 400px; }
        #mv.with_request .request_wrap .satori__message.satori__privacy_policy_url {
          font-size: var(--fontSize_s); }
        #mv.with_request .request_wrap .satori__custom_form {
          --labelWidth: 80px; }
          #mv.with_request .request_wrap .satori__custom_form .satori__input_group {
            flex-direction: row;
            align-items: center; }
            #mv.with_request .request_wrap .satori__custom_form .satori__input_group > .label,
            #mv.with_request .request_wrap .satori__custom_form .satori__input_group > label {
              min-width: var(--labelWidth);
              padding-bottom: 0 !important; }
          #mv.with_request .request_wrap .satori__custom_form .satori__horiz_group {
            box-sizing: border-box;
            padding-left: 0px;
            --halfSize:calc( ( 100% - ( var(--space1) + var(--labelWidth) + var(--space1) ) ) / 2 );
            flex-wrap: nowrap; }
            #mv.with_request .request_wrap .satori__custom_form .satori__horiz_group .satori__input_group {
              --labelWidth: 80px !important;
              flex: auto !important; }
              #mv.with_request .request_wrap .satori__custom_form .satori__horiz_group .satori__input_group > .label,
              #mv.with_request .request_wrap .satori__custom_form .satori__horiz_group .satori__input_group > label {
                position: relative;
                top: 0;
                left: 0;
                right: 0;
                bottom: 0;
                justify-content: flex-start; }
              #mv.with_request .request_wrap .satori__custom_form .satori__horiz_group .satori__input_group.satori__customer_last_name {
                width: calc( var(--halfSize) + var(--labelWidth) ); }
                #mv.with_request .request_wrap .satori__custom_form .satori__horiz_group .satori__input_group.satori__customer_last_name > .label,
                #mv.with_request .request_wrap .satori__custom_form .satori__horiz_group .satori__input_group.satori__customer_last_name > label {
                  min-width: var(--labelWidth); }
                  #mv.with_request .request_wrap .satori__custom_form .satori__horiz_group .satori__input_group.satori__customer_last_name > .label .satori__require,
                  #mv.with_request .request_wrap .satori__custom_form .satori__horiz_group .satori__input_group.satori__customer_last_name > label .satori__require {
                    display: inline-block; }
              #mv.with_request .request_wrap .satori__custom_form .satori__horiz_group .satori__input_group.satori__customer_first_name {
                width: var(--halfSize); }
                #mv.with_request .request_wrap .satori__custom_form .satori__horiz_group .satori__input_group.satori__customer_first_name > .label,
                #mv.with_request .request_wrap .satori__custom_form .satori__horiz_group .satori__input_group.satori__customer_first_name > label {
                  display: none; } }

#issue .columns {
  --columnColumnGap:var(--space5); }
  #issue .columns .column .a {
    flex-direction: column;
    text-decoration: none;
    color: var(--textColor);
    align-items: flex-start;
    grid-gap: var(--space2);
    --circleSize:32px;
    --linkArrowBorder:var(--primaryColor);
    --linkArrowColor:#FFF;
    --linkArrowBackground:var(--primaryColor); }
    #issue .columns .column .a .info {
      width: 100%;
      display: flex;
      grid-gap: var(--space2); }
      #issue .columns .column .a .info .thumb {
        width: 64px;
        aspect-ratio: 1/1;
        background-position: center center;
        background-repeat: no-repeat;
        background-size: contain; }
        #issue .columns .column .a .info .thumb.thumb_profetai {
          background-image: url(../images/home/img_thumb_profetai.png); }
        #issue .columns .column .a .info .thumb.thumb_iotdataserver {
          background-image: url(../images/home/img_thumb_iotdataserver.png); }
        #issue .columns .column .a .info .thumb.thumb_manufactx {
          background-image: url(../images/home/img_thumb_manufactx.png); }
    #issue .columns .column .a .name_wrap {
      display: flex;
      flex-direction: column;
      grid-gap: var(--space1);
      width: 100%; }
      #issue .columns .column .a .name_wrap p.category {
        font-size: var(--fontSize_s); }
      #issue .columns .column .a .name_wrap .name {
        width: 100%;
        display: flex;
        flex-direction: row;
        grid-gap: var(--space2);
        align-items: center;
        justify-content: space-between;
        font-size: var(--fontSize_l);
        font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
        font-optical-sizing: auto;
        font-weight: 600;
        font-style: normal; }
        #issue .columns .column .a .name_wrap .name::after {
          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; }
    #issue .columns .column .a:hover {
      --linkArrowColor:var(--primaryColor);
      --linkArrowBackground:#FFF; }

#achievements .bridge .box_wrap {
  justify-content: center; }
  #achievements .bridge .box_wrap .copy {
    background: #FFF;
    padding: var(--space1) var(--space3); }
#achievements .columns {
  --columnColumnGap:var(--space5);
  --columnRowGap:var(--space4); }
  #achievements .columns .column {
    display: flex;
    flex-direction: column;
    grid-gap: var(--space2); }
    #achievements .columns .column .photo,
    #achievements .columns .column .info {
      width: 100%; }
    #achievements .columns .column .info {
      display: flex;
      flex-direction: column;
      grid-gap: var(--space1); }
@media (min-width: 1280px) {
  #achievements .columns {
    --columnColumnGap:calc( var(--space5) * 2 );
    --columnRowGap:var(--space5); } }

#target {
  border-bottom: 1px solid var(--baseBorderColor); }

#voices {
  background: #F7F7F7; }
  #voices .columns {
    padding-top: 90px;
    --columnRowGap:calc( var(--space2) + 90px );
    --columnColumnGap:var(--space4); }
    #voices .columns .column {
      background: #FFF;
      border-radius: 20px;
      box-sizing: border-box;
      padding: 110px var(--space2) calc( var(--space4) + 31px ) var(--space2);
      position: relative; }
      #voices .columns .column .photo {
        width: 175px;
        height: 175px;
        position: absolute;
        top: -88px;
        left: 0;
        right: 0;
        margin: auto;
        background: var(--secondaryColor);
        border-radius: 50%;
        box-sizing: border-box;
        display: flex;
        justify-content: center;
        align-items: center; }
        #voices .columns .column .photo .icon {
          width: 150px;
          height: 150px; }
      #voices .columns .column .info {
        display: flex;
        flex-direction: column;
        grid-gap: var(--space1);
        position: relative; }
        #voices .columns .column .info .category {
          position: absolute;
          font-size: var(--fontSize_ss);
          bottom: calc( 100% + var(--space1) ); }
        #voices .columns .column .info .type {
          font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
          font-optical-sizing: auto;
          font-weight: 600;
          font-style: normal; }
      #voices .columns .column .rate {
        width: 218px;
        aspect-ratio: 218/31;
        position: absolute;
        bottom: var(--space2);
        left: 0;
        right: 0;
        margin: auto; }
        #voices .columns .column .rate .icon {
          width: 100%;
          height: 100%;
          background-image: url("../images/home/rate.png"); }
      #voices .columns .column:nth-child(1) .photo .icon {
        background-image: url("../images/home/voice_01.png"); }
      #voices .columns .column:nth-child(2) .photo .icon {
        background-image: url("../images/home/voice_02.png"); }
      #voices .columns .column:nth-child(3) .photo .icon {
        background-image: url("../images/home/voice_03.png"); }
  @media (min-width: 1280px) {
    #voices .columns {
      --columnColumnGap:var(--space5); } }

#target .section_title_wrap {
  margin-bottom: var(--space4); }
#target .columns {
  --columnColumnGap:calc( var(--space5) * 1.25 );
  --columnRowGap:calc( var(--space5) * 1.25 ); }
  #target .columns .column {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    grid-gap: var(--space2);
    position: relative; }
    #target .columns .column .info_wrap {
      display: flex;
      flex-direction: column-reverse;
      grid-gap: var(--space2) var(--space4); }
      #target .columns .column .info_wrap .info {
        display: flex;
        flex-direction: column;
        grid-gap: var(--space1); }
        #target .columns .column .info_wrap .info .title {
          font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
          font-optical-sizing: auto;
          font-weight: 600;
          font-style: normal; }
    #target .columns .column:not(:last-child)::after {
      width: 100%;
      height: 1px;
      left: 0;
      top: calc( 100% + var(--columnRowGap) / 2 );
      content: "";
      position: absolute;
      background: var(--baseBorderColor); }
#target .to_link .a {
  --linkArrowBorder:var(--primaryColor);
  --linkArrowBackground:#FFF;
  --linkArrowColor:var(--primaryColor); }
  @media (hover: hover) {
    #target .to_link .a:hover {
      --linkArrowBackground:var(--primaryColor);
      --linkArrowColor:#FFF; } }
@media (min-width: 521px) {
  #target .columns .column {
    grid-gap: var(--space3); } }
@media (min-width: 768px) {
  #target .section_title_wrap {
    margin-bottom: var(--space5); }
  #target .columns .column:not(:last-child)::after {
    width: 1px;
    height: 100%;
    left: calc( 100% + var(--columnColumnGap) / 2 );
    top: 0;
    bottom: 0; } }
@media (min-width: 1280px) {
  #target .columns {
    --columnColumnGap:calc( var(--space5) * 2 ); } }

#faq .faqs {
  border-top: 1px solid var(--baseBorderColor); }
  #faq .faqs details {
    padding-top: var(--space3);
    padding-bottom: var(--space3); }
    #faq .faqs details.faq {
      border-bottom: 1px solid var(--baseBorderColor);
      margin-top: 0 !important;
      --markSize:40px;
      --paddingLeft:calc( var(--space4) + var(--space1) );
      --paddingRight:calc( var(--markSize) + var(--space2) ); }
      #faq .faqs details.faq > summary {
        margin-bottom: 0;
        padding-left: var(--paddingLeft);
        padding-right: var(--paddingRight);
        font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
        font-optical-sizing: auto;
        font-weight: 600;
        font-style: normal; }
        #faq .faqs details.faq > summary::before {
          display: block;
          transform: scale(1);
          width: 32px;
          height: 32px;
          position: absolute;
          background: url("../images/faq/icon_q.png") no-repeat center center;
          background-size: contain;
          position: absolute;
          top: 0;
          bottom: 0;
          left: 0;
          right: auto;
          margin: auto;
          transition: var(--animationDuration) bottom; }
        #faq .faqs details.faq > summary::after {
          width: var(--markSize);
          height: var(--markSize);
          position: absolute;
          top: 0;
          bottom: 0;
          right: 0;
          margin: auto;
          font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
          font-optical-sizing: auto;
          font-weight: 600;
          font-style: normal;
          content: "+";
          font-size: 3rem;
          color: var(--primaryColor);
          display: flex;
          justify-content: center;
          align-items: center; }
      #faq .faqs details.faq > .body {
        padding-left: var(--paddingLeft); }
      #faq .faqs details.faq[open] > summary {
        padding-bottom: var(--space2); }
        #faq .faqs details.faq[open] > summary::before {
          bottom: var(--space2); }
        #faq .faqs details.faq[open] > summary::after {
          content: "-";
          bottom: var(--space2); }

#news {
  background: #F7F7F7; }
  #news .section_title_wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    grid-gap: var(--space1); }
  @media (min-width: 1280px) {
    #news {
      --sideWidth:260px; }
      #news > .box_wrap {
        display: flex;
        flex-direction: row;
        grid-gap: var(--space5); }
        #news > .box_wrap > .section_title_wrap {
          margin-bottom: 0;
          width: var(--sideWidth);
          max-width: var(--sideWidth);
          min-width: var(--sideWidth);
          align-items: flex-start;
          justify-content: flex-start;
          grid-gap: var(--space4);
          flex-direction: column; }
        #news > .box_wrap > .section_body_wrap {
          width: 100%; } }
