@media screen, print {
  .body-fig {
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
  }

  .body-img {
    margin-left: auto;
    margin-right: auto;
    width: min(100%, 45rem);
  }

  .body-figcap {
    font-size: 1.4rem;
    padding-bottom: 1rem;
    padding-right: 10px;
    padding-right: calc(20.3vw - 5.5rem);
    text-align: right;
  }

  .env-miko {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin-bottom: calc(4.46vw + 25.7px);
  }

  .miko-balloon {
    align-items: center;
    aspect-ratio: 2/1;
    background: url(../img/environment/env_blln_sp.svg) no-repeat;
    display: flex;
    justify-content: center;
    padding: 0 4vw 2rem;
    height: auto;
    width: min(100%, 30rem);
  }

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

  .miko-img {
    aspect-ratio: 1/1;
    margin-bottom: .5rem;
    width: 10rem;
  }

  .miko-para {
    font-size: 1.5rem;
    line-height: 1.6;
  }

  .miko-figcap {
    line-height: 1;
  }
}

/*** SP BP ***/
@media (min-width: 640px) {
  .body-fig {
    flex-direction: row;
  }

  .body-img {
    width: 50%;
  }

  .body-figcap {
    bottom: -3px;
    padding: 0; /* reset */
    position: absolute;
    right: 1rem;
  }

  .env-miko {
    align-items: start;
    flex-direction: row;
    gap: 2rem;
    justify-content: center;
    margin-bottom: 6rem;
  }

  .miko-balloon {
    aspect-ratio: 75/16;
    background: url(../img/environment/env_blln.svg) no-repeat;
    padding: 0 6rem 0 2rem;
    height: auto;
    width: 47.5rem;
  }
}

/*** md Tablet ***/
@media (min-width: 768px) {
  .body-figcap {
    bottom: 0;
    right: 1.5rem;
  }
}

/*** lg PC ***/
@media (min-width: 992px) {
  #hdnav-link-environment {
    background: #fff;
    border-top: solid 2px var(--ais-clr);
    color: var(--ais-clr);
    opacity: 1;
    pointer-events: none;
  }

  .body-figcap {
    bottom: .5rem;
    right: 2rem;
  }

}