:root {
  --biprogyBlue1:#1D2088;
  --biprogyBlue2:#0081CC;
  --biprogyBlue3:#00AFEC;
  --biprogyPurple:#C82F8B;
  --biprogyGreen:#45B035;
  --biprogyYellow:#FFE100;
  --biprogyOrange:#F18D00;
  --biprogyRed:#E61F53; }

#product_foot {
  background: var(--primaryColor);
  padding-top: var(--space5);
  padding-bottom: var(--space5);
  color: #FFF;
  --globeSize:160px; }
  #product_foot .section_body_wrap .block {
    margin-bottom: 0;
    position: relative; }
    #product_foot .section_body_wrap .block .head .title {
      font-size: 2rem; }
    #product_foot .section_body_wrap .block::before {
      content: "";
      width: var(--globeSize);
      height: var(--globeSize);
      position: absolute;
      left: calc( -1 * var(--cont_margin) / 2 );
      top: calc( -1 * var(--globeSize) / 3 );
      background: url("../images/biprogy/footer_globe.png") no-repeat center center;
      background-size: contain; }
    #product_foot .section_body_wrap .block .foot .to_link .a {
      width: 100%; }
  @media (min-width: 768px) {
    #product_foot .section_body_wrap .block > .head {
      width: calc( 200% - 240px );
      margin-bottom: var(--space4); }
    #product_foot .section_body_wrap .block > .foot {
      display: flex;
      justify-content: flex-end; }
      #product_foot .section_body_wrap .block > .foot .to_link {
        width: 260px; }
        #product_foot .section_body_wrap .block > .foot .to_link .a {
          padding-left: calc( var(--linkArrowSize) + var(--space2) );
          padding-right: calc( var(--linkArrowSize) + var(--space2) ); }
        #product_foot .section_body_wrap .block > .foot .to_link:first-child .a {
          padding-right: var(--space2); }
          #product_foot .section_body_wrap .block > .foot .to_link:first-child .a .txt {
            margin-left: var(--space1); } }
  @media (min-width: 1280px) {
    #product_foot {
      height: 580px;
      display: flex;
      align-items: center;
      box-sizing: border-box; }
      #product_foot .section_body_wrap .block::before {
        left: calc( -1 * var(--cont_margin) );
        top: calc( -1 * var(--globeSize) / 2 ); } }

#foot {
  height: var(--footHeight);
  background: var(--colorBlack);
  color: #FFF;
  position: relative;
  padding: var(--space4) 0 var(--space2) 0;
  box-sizing: border-box; }
  #foot > .container {
    display: flex;
    flex-direction: column;
    grid-gap: calc( var(--space4) + var(--space2) ); }
  #foot .btns {
    grid-gap: var(--space1) var(--space4);
    flex-wrap: wrap;
    justify-content: center; }
    #foot .btns .btn .a {
      color: #FFF; }
      #foot .btns .btn .a .txt {
        font-size: var(--fontSize_s); }
  #foot .foot_upper .logo_wrap .logo {
    width: 102px;
    height: 92px; }
    #foot .foot_upper .logo_wrap .logo .a .icon {
      width: 100%;
      height: 100%;
      background-image: url("../images/biprogy/logo_gx.png"); }
  #foot .foot_bottom,
  #foot .foot_upper {
    display: flex;
    flex-direction: column;
    align-items: center;
    grid-gap: calc( var(--space4) + var(--space1) ); }
  @media (min-width: 768px) {
    #foot {
      padding: calc( var(--space5) + var(--space2) ) 0 var(--space4) 0; }
      #foot .foot_bottom {
        flex-direction: row;
        justify-content: space-between;
        align-items: center; } }

.biprogy_wrap {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  grid-gap: var(--space2); }
  .biprogy_wrap .logo {
    width: 314px;
    height: 33px; }
    .biprogy_wrap .logo .a .icon {
      background-image: url("../images/biprogy/logo.png");
      width: 100%;
      height: 100%; }
  @media (min-width: 768px) {
    .biprogy_wrap {
      flex-direction: row; } }

.copyright {
  font-size: var(--fontSize_s); }

#mv.with_request .bg_wrap {
  width: 100dvw;
  height: 125dvw;
  bottom: auto; }
#mv.with_request > .mv_inner_wrap {
  height: 100%;
  position: relative;
  z-index: 2;
  box-sizing: border-box;
  padding: calc( var(--headHeight) + var(--space5) ) 0 var(--space4) 0;
  color: #FFF;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  grid-gap: var(--space4); }
  #mv.with_request > .mv_inner_wrap .text {
    font-size: var(--fontSize_l);
    font-family: "Montserrat", "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 600;
    font-style: normal;
    line-height: 2;
    text-align: center; }
#mv.with_request .request_wrap {
  background: #FFF;
  color: var(--textColor);
  border-radius: 20px;
  box-shadow: 0px 0px 10px 5px rgba(0, 0, 0, 0.1);
  padding: var(--space3);
  --formPartHeight:36px;
  --formRadius:24px;
  --formPartPaddingRow:5px; }
  #mv.with_request .request_wrap picture {
    margin-bottom: var(--space2); }
  #mv.with_request .request_wrap .satori__input_group {
    padding: 5px 10px !important; }
    #mv.with_request .request_wrap .satori__input_group .label,
    #mv.with_request .request_wrap .satori__input_group label {
      font-size: var(--fontSize_ss); }
      #mv.with_request .request_wrap .satori__input_group .label .satori__require,
      #mv.with_request .request_wrap .satori__input_group label .satori__require {
        font-size: var(--fontSize_ss); }
@media (max-width: 767px) {
  #mv.with_request {
    min-height: 0;
    height: fit-content; } }
@media (min-width: 768px) {
  #mv.with_request > .bg_wrap {
    width: 100dvw;
    height: 100%; }
  #mv.with_request > .mv_inner_wrap {
    padding: calc( var(--headHeight) + var(--space5) ) 0 var(--space5) 0;
    display: flex;
    flex-direction: row;
    grid-gap: var(--space4);
    justify-content: space-between; }
    #mv.with_request > .mv_inner_wrap .text {
      text-align: left;
      height: 100%;
      display: flex;
      align-items: flex-start;
      justify-content: flex-end;
      flex-direction: column;
      font-size: var(--fontSize_l); }
  #mv.with_request .request_wrap {
    min-width: 320px;
    max-width: 480px; }
    #mv.with_request .request_wrap .satori__custom_form > .satori__input_group,
    #mv.with_request .request_wrap .satori__custom_form .satori__horiz_group > .satori__input_group {
      --labelWidth:50px;
      position: relative;
      padding-left: calc( var(--labelWidth) + var(--space1) ) !important;
      box-sizing: border-box; }
      #mv.with_request .request_wrap .satori__custom_form > .satori__input_group .label,
      #mv.with_request .request_wrap .satori__custom_form > .satori__input_group label,
      #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: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        width: var(--labelWidth);
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        grid-gap: var(--space1);
        align-items: center;
        justify-content: flex-end;
        padding-bottom: 0; }
        #mv.with_request .request_wrap .satori__custom_form > .satori__input_group .label .satori__require,
        #mv.with_request .request_wrap .satori__custom_form > .satori__input_group label .satori__require,
        #mv.with_request .request_wrap .satori__custom_form .satori__horiz_group > .satori__input_group .label .satori__require,
        #mv.with_request .request_wrap .satori__custom_form .satori__horiz_group > .satori__input_group label .satori__require {
          display: none; } }

.block_to_target_cv .head {
  margin-bottom: var(--space4); }
.block_to_target_cv .foot {
  margin-top: var(--space5); }
.block_to_target_cv .to_link {
  --toLinkHeight:calc( var(--buttonHeight) * 1.5 );
  --toLinkBackground:var(--biprogyBlue2);
  --toLinkBorder:var(--buttonBorder);
  --toLinkBorderColor:var(--biprogyBlue2);
  --toLinkColor:#FFF;
  --toLinkHoverBackground:var(--biprogyBlue3);
  --toLinkHoverColor:#FFF;
  --linkArrowBorder:#FFF;
  --linkArrowColor:#FFF;
  --linkArrowBackground:var(--biprogyBlue2); }
  .block_to_target_cv .to_link .a {
    width: 100%;
    max-width: 500px; }
    .block_to_target_cv .to_link .a .txt {
      font-size: var(--fontSize_n); }
    @media (hover: hover) {
      .block_to_target_cv .to_link .a:hover {
        --linkArrowBorder:#FFF;
        --linkArrowBackground:var(--biprogyBlue3); } }
  @media (min-width: 768px) {
    .block_to_target_cv .to_link {
      --toLinkHeight:calc( var(--buttonHeight) * 2 ); }
      .block_to_target_cv .to_link .a .txt {
        font-size: calc( var(--fontSize_n) * 1.4 ); } }

#float_cv_btns {
  position: fixed;
  bottom: var(--space2);
  right: var(--space2);
  z-index: 5; }
  #float_cv_btns .btns {
    --buttonSize:80px;
    grid-gap: var(--space1); }
    #float_cv_btns .btns .btn .a {
      width: var(--buttonSize);
      height: var(--buttonSize);
      position: relative;
      color: #FFF;
      box-sizing: border-box;
      overflow: visible; }
      #float_cv_btns .btns .btn .a .txt {
        position: relative;
        z-index: 1;
        text-align: center;
        font-size: var(--fontSize_s); }
      #float_cv_btns .btns .btn .a::before {
        width: 100%;
        height: 100%;
        border-radius: 50%;
        border: 1px solid #FFF;
        background: var(--primaryColor);
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        margin: auto;
        content: "";
        transition: var(--animationDuration) transform; }
      #float_cv_btns .btns .btn .a:hover {
        opacity: 1;
        filter: Alpha(opacity=100); }
        #float_cv_btns .btns .btn .a:hover::before {
          transform: scale(1.1); }
    #float_cv_btns .btns .btn.btn_to_demo .a::before {
      background: var(--biprogyBlue2); }
  @media (min-width: 768px) {
    #float_cv_btns .btns {
      grid-gap: var(--space2);
      --buttonSize:112px; }
      #float_cv_btns .btns .btn .a .txt {
        font-size: var(--fontSize_n); } }
