@media screen and (min-width: 1281px) {

  /* pc共通 */
  .tb {
    display: none;
  }
}

@media screen and (max-width: 767px) {

  /* sp共通 */
  .tb {
    display: none;
  }

  .tb.sp {
    display: block;
  }

  .sp {
    display: block;
  }
}

@media (min-width: 768px) and (max-width: 1280px) {
  body {
    min-width: 768px;
    overflow-x: hidden;
  }

  /* tb共通 */
  .tb {
    display: block;
  }

  .hide-tb.pc {
    display: none;
  }

  /* マイページ共通 */
  header.mypage-header .header-wrapper {
    padding: 0 20px;
  }

  div.mypage-nav-wrapper {
    padding: 5px 20px;
    box-sizing: border-box;
  }

  footer.mypage-footer .mypage-footer-main {
    padding: 7px 20px;
    box-sizing: border-box;
  }

  div.mypage-container {
    width: 100%;
    min-height: calc(100vh - 80px - 70px - 56px);
    position: relative;
    overflow: hidden;
    padding: 0 20px 50px;
    box-sizing: border-box;
  }

  div.mypage-top-boxes {
    justify-content: center;
  }

  .button-body-width {
    width: 180px;
  }

  div.mandatory.agree-check {
    top: -6px;
    left: 22%;
    transform: translateX(-30%);
  }
  div.mandatory.agree-check.agree-check-red-dec {
    left: 47%;
  }

  /* お客様情報変更 */
  table.table-mini {
    width: 100%;
  }
  .mypage-edit-table-bottom {
    padding-left: 0;
  }
  input.mypage-tel-col-30 {
    width: 33%;
  }

  /* 海外データプラン */
  .search-by-area-image {
    height: 55vw;
    max-height: 570px;
  }
  img.worldmap-img {
    top: 50px;
    width: 98%;
  }
  input.col30-tb-create {
    width: 32%;
  }
  div.mypage-content-box-corp th,
  div.mypage-content-box-corp td {
    padding: 6px 1px;
    width: 200px;
    line-height: 1.5;
  }

  /* ご請求明細 */
  table.table-paymenthistory .payment-history-printing-button-wrap::before {
    right: 10px;
  }

  /* データチャージ */
  div.form-capacity-select {
    width: 180px;
  }
}