@charset "UTF-8";
/* =========================================
サービス共通CSS（例外処理、即席対応）
========================================= */

/* Utilities */
.container {
  width: 100%;
  max-width: var(--width-pc);
  margin: 0 auto;
  padding: 0 20px;
}

.sp-only {
  display: none;
}

.pc-only {
  display: block;
}

@media screen and (max-width: 900px) {

  /* タブレット以下で切り替え調整 */
  .sp-only {
    display: block;
  }

  .pc-only {
    display: none;
  }
}

@media screen and (min-width: 768px),
print {
  .u-pc-width {
    width: 100%;
    max-width: 1440px;
    margin: auto;
    padding-right: 20px;
    padding-left: 20px;
  }
}

@media screen and (min-width: 768px) and (min-width: 768px),
print and (min-width: 768px) {
  .u-pc-width {
    padding-left: calc(20px + 130 * (100vw - 768px) / 672);
  }
}

@media screen and (min-width: 768px) and (min-width: 1440px),
print and (min-width: 1440px) {
  .u-pc-width {
    padding-left: 150px;
  }
}

@media screen and (min-width: 768px) and (min-width: 768px),
print and (min-width: 768px) {
  .u-pc-width {
    padding-right: calc(20px + 130 * (100vw - 768px) / 672);
  }
}

@media screen and (min-width: 768px) and (min-width: 1440px),
print and (min-width: 1440px) {
  .u-pc-width {
    padding-right: 150px;
  }
}

@media screen and (min-width: 768px), print {
  .u-pc-hide {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-hide {
    display: none;
  }
}