@media screen and (max-width: 680px) {
  .only_pc {
    display: none;
  }
  .only_mo {
    display: block;
  }

  body,
  button,
  p,
  span {
    letter-spacing: -0.05em;
  }

  /* typography */
  .h1 {
    font-size: 15px;
    line-height: 20px;
  }
  .h2 {
    font-size: 14px;
    line-height: 17px;
  }
  .h2.bold {
    line-height: 20px;
  }
  .h3 {
    font-size: 13px;
    line-height: 17px;
  }
  .h3.mid {
    line-height: 17px;
  }
  .caption1 {
    font-size: 12px;
    line-height: 16px;
  }
  .caption2 {
    font-size: 11px;
    line-height: 14px;
  }
  .caption2.bold {
    line-height: 11px;
  }
  .caption3 {
    font-size: 10px;
    line-height: 14px;
  }
  .caption3.mid {
    line-height: 12px;
  }

  /* main */
  .main {
    height: 298px;
  }
  .logo_flow {
    height: 54px;
    top: 198.5px;
    left: 0px;
    gap: 18px;
  }
  .logo_flow img {
    height: 54px;
  }
  .logo_flow .list > img { margin-right: 18px; }

  .kv_gra {
    width: 264px;
    height: 156px;
  }
  .main_title {
    width: 249px;
    height: 95px;
    top: 41px;
    gap: 10px;
  }
  .kv_img {
    width: 177px;
    height: 149px;
    top: 149px;
    left: calc(50% - 75px);
  }
  .light_1 {
    width: 53px;
    height: 51px;
    top: 154px;
    left: calc(50% - 95px);
  }
  .light_2 {
    width: 37px;
    height: 23px;
    top: 175px;
    left: calc(50% + 12px);
  }
  .kv_deco_1 {
    width: 13px;
    height: 13px;
    top: 178px;
    left: calc(50% + 74px);
  }
  .kv_deco_2 {
    width: 24px;
    height: 23px;
    top: 139px;
    left: calc(50% - 84px);
  }
  .kv_deco_3 {
    width: 14px;
    height: 14px;
    top: 94px;
    left: calc(50% - 142px);
  }
  .kv_deco_4 {
    width: 16px;
    height: 16px;
    top: 61px;
    left: calc(50% + 127px);
  }
  .kv_deco_5 {
    width: 16px;
    height: 15px;
    top: 3px;
    left: calc(50% - 32px);
  }

  /* targets */
  .body_cont {
    padding-top: 20px;
    padding-bottom: 22px;
    gap: 14px;
  }
  .body_cont_title {
    width: 90px;
    height: 11px;
  }
  .body_cont_targets {
    max-width: 330px;
    grid-template-columns: repeat(2, 164px);
    gap: 2px;
  }
  .body_cont_targets > .flex_col {
    gap: 5px;
    border-radius: 10px;
    border: 0.4px solid #5E45E5;
    padding: 14px;
  }
  .body_title {
    height: 11px;
    margin-bottom: 2px;
  }
  .body_ul {
    gap: 1px;
  }
  .body_ul li {
    padding-left: 5px;
  }
  .body_ul li::before {
    width: 2px;
    height: 2px;
    top: 4px;
  }

  /* contents */
  .contents > .flex_col {
    max-width: 360px;
    padding: 28px 30px;
    gap: 18px;
  }
  .contents > .flex_col > .flex_col {
    gap: 8px;
  }
  .cont_title {
    height: 11px;
  }
  .mt_5_6 {
    margin-top: 4px;
  }
  .mt_2_8 {
    margin-top: 2px;
  }
  .mt_1_4 {
    margin-top: 1px;
  }
  .mini_star_li {
    gap: 2px;
  }
  .mini_star_li::before {
    padding-top: 3px;
  }
  .caption1.mini_star_li::before {
    padding-top: 2px;
  }
  .star_li {
    gap: 2px;
  }
  .cont4_ul {
    gap: 4px;
  }

  /* footer */
  .footer_wrap {
    max-width: 360px;
    padding: 28px 30px 38px 20px;
    gap: 10px;
  }
  .footer_title {
    gap: 6px;
    padding-left: 8px;
  }
  .alert {
    width: 26px;
    height: 26px;
  }
  .footer ul p {
    padding-left: 4px;
  }
  .footer ul li {
    position: relative;
  }
  .footer .li_txt {
    padding-left: 12px;
  }
  .footer ul li.default {
    padding-left: 8px;
  }
  .footer ul li.default::before {
    width: 4px;
    height: 4px;
    top: 6px;
  }
  .footer .dashed_wrap {
    padding-left: 24px;
  }

  ul.list_wrap li {
    position: relative;
  }
  .list_wrap .li_txt {
    padding-left: 8px;
  }
  ul.list_wrap li.default {
    padding-left: 3px;
  }
  ul.list_wrap li.default::before {
    width: 3px;
    height: 3px;
    top: 7px;
  }
  .list_wrap .dashed_wrap {
    padding-left: 24px;
  }
  ul li.star.default::before {
    top: 0px;
  }
}
