@charset "UTF-8";
main .pcD {
  display: block;
}
@media screen and (max-width: 767px) {
  main .pcD {
    display: none;
  }
}
main .spD {
  display: none;
}
@media screen and (max-width: 767px) {
  main .spD {
    display: block;
  }
}
main #simulator {
  font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
  color: #004080;
  width: 1116px;
  margin: 99px auto 110px;
  padding-top: 40px;
  padding-bottom: 20px;
  color: #fff;
  background-color: #004288;
  border-radius: 18px;
}
main #simulator .simulator-btn {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  position: relative;
  margin-left: 15px;
}
@media screen and (max-width: 767px) {
  main #simulator .simulator-btn {
    margin-left: 2vw;
  }
}
main #simulator .simulator-btn .up,
main #simulator .simulator-btn .down {
  cursor: pointer;
}
main #simulator .simulator-btn::before {
  content: "";
  background-color: #fff;
  width: 1px;
  height: 100%;
  position: absolute;
  top: 0;
  right: -10px;
}
@media screen and (max-width: 767px) {
  main #simulator {
    width: 94.6666666667vw;
    padding-top: 2.6666666667vw;
    padding-bottom: 4.5333333333vw;
    margin-top: 7.6vw;
    margin-bottom: 7.3333333333vw;
  }
}
main #simulator .simulator__title {
  position: relative;
  color: #fff;
  text-align: center;
}
main #simulator .simulator__title p {
  margin-bottom: 0.3em;
  font-size: 20px;
  font-weight: bold;
  line-height: 1.4;
}
main #simulator .simulator__title h2 {
  font-size: 32px;
  font-weight: 700;
  line-height: 1.4193548387;
  letter-spacing: 0.2rem;
}
@media screen and (max-width: 767px) {
  main #simulator .simulator__title h2 {
    font-size: 3.2vw;
  }
}
main #simulator .simulator__title::before {
  content: "";
  display: block;
  background-image: url("/products/bizprinter/smartcharge/ecology/images/simulator/icon_line.png");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  width: 276px;
  height: 10px;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%) rotate(180deg);
}
@media screen and (max-width: 767px) {
  main #simulator .simulator__title::before {
    background-image: url("/products/bizprinter/smartcharge/ecology/images/simulator/icon_line_sp.png");
    width: 16vw;
    height: 1.3333333333vw;
  }
}
main #simulator .simulator__title::after {
  content: "";
  display: block;
  background-image: url("/products/bizprinter/smartcharge/ecology/images/simulator/icon_line.png");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  width: 276px;
  height: 10px;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  main #simulator .simulator__title::after {
    background-image: url("/products/bizprinter/smartcharge/ecology/images/simulator/icon_line_sp.png");
    width: 16vw;
    height: 1.3333333333vw;
  }
}
main #simulator .simulator__inner {
  padding: 32px 22px 0;
}
@media screen and (max-width: 767px) {
  main #simulator .simulator__inner {
    padding: 4vw 2.6666666667vw 0;
  }
}
main #simulator .simulator__inner + p .efficacy__btn {
  width: 100%;
  max-width: 560px;
}
main #simulator .simulator__subtitle {
  margin-bottom: 40px;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.3888888889;
  letter-spacing: 0.075rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  main #simulator .simulator__subtitle {
    font-size: 3.8666666667vw;
  }
}
@media screen and (max-width: 767px) {
  main #simulator .simulator__container {
    display: flex;
    flex-direction: column;
  }
}
main #simulator .simulator__grid {
  display: flex;
  margin: 0 auto 60px;
  justify-content: space-around;
}
@media screen and (max-width: 767px) {
  main #simulator .simulator__grid {
    display: block;
    margin-bottom: 2.6666666667vw;
  }
}
main #simulator .simulator__grid > dl {
  margin-top: 0;
  padding-top: 27px;
}
main #simulator .simulator__grid > dl + dl {
  margin-top: 0;
  padding-top: 27px;
}
@media screen and (max-width: 767px) {
  main #simulator .simulator__grid > dl + dl {
    padding-top: 2.2666666667vw;
  }
}
@media screen and (max-width: 767px) {
  main #simulator .simulator__grid > dl {
    padding-top: 2.6666666667vw;
  }
}
main #simulator .simulator__grid__item {
  position: relative;
  text-align: center;
}
@media screen and (max-width: 767px) {
  main #simulator .simulator__grid__item {
    display: flex;
    justify-content: flex-end;
    gap: 7.7333333333vw;
    align-items: center;
  }
}
main #simulator .simulator__grid__item::before {
  content: "";
  background-color: #fff;
  width: 300px;
  height: 7px;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  main #simulator .simulator__grid__item::before {
    width: 84vw;
    height: 0.9333333333vw;
  }
}
main #simulator .simulator__grid__item dt {
  box-sizing: border-box;
  position: relative;
  border-radius: 8px;
  font-size: 20px;
  line-height: 1.3;
  margin-bottom: 43px;
}
@media screen and (max-width: 767px) {
  main #simulator .simulator__grid__item dt {
    margin-bottom: 0;
    font-size: 2.4vw;
  }
}
main #simulator .simulator__grid__item dt strong {
  font-size: 31px;
}
@media screen and (max-width: 767px) {
  main #simulator .simulator__grid__item dt strong {
    font-size: 4.9333333333vw;
  }
}
main #simulator .simulator__grid__item dd {
  display: flex;
  justify-content: center;
  position: relative;
}
main #simulator .simulator__grid__item dd input {
  align-self: center;
  display: inline-block;
  appearance: none;
  -webkit-appearance: none;
  box-sizing: border-box;
  border: none;
  margin: 0 8px 0 0;
  padding-left: 16px;
  padding-bottom: 11px;
  width: 150px;
  height: 85px;
  font-size: 920% !important;
  line-height: normal !important;
  letter-spacing: 2.4rem;
  text-align: center;
  font-weight: 700;
  border: solid 1px #fff;
  background-color: rgba(0, 0, 0, 0);
  color: #00ffea;
  font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
}
@media screen and (max-width: 767px) {
  main #simulator .simulator__grid__item dd input {
    width: 25.8666666667vw;
    height: 14vw;
    font-size: 13.3333333333vw !important;
    letter-spacing: 4.6666666667vw;
    padding-left: 3.0666666667vw;
    padding-bottom: 1.4666666667vw;
  }
}
main #simulator .simulator__grid__item dd .simulator__grid__input {
  position: relative;
}
main #simulator .simulator__grid__item dd .simulator__grid__input::before {
  content: "";
  display: block;
  background-color: #fff;
  width: 1px;
  height: 100%;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}
main #simulator .simulator__grid__item dd span {
  align-self: flex-end;
  display: inline-block;
  vertical-align: bottom;
  font-size: 21px;
  font-weight: bold;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  main #simulator .simulator__grid__item dd span {
    font-size: 3.3333333333vw;
  }
}
main #simulator .simulator__grid__item--slow {
  position: relative;
}
main #simulator .simulator__grid__item--slow dt {
  border-color: #009d37;
}
main #simulator .simulator__grid__item--slow dd input {
  color: #00ffff;
}
main #simulator .simulator__grid__item--slow dd input:placeholder-shown {
  color: #75bf89;
}
main #simulator .simulator__grid__item--slow dd input::-webkit-input-placeholder {
  color: rgba(0, 0, 0, 0);
  -webkit-text-stroke: 1px #00ffea;
  paint-order: stroke;
}
main #simulator .simulator__grid__item--slow dd input:-moz-placeholder, main #simulator .simulator__grid__item--slow dd input::-moz-placeholder {
  opacity: 1;
  color: #004288;
  -webkit-text-stroke: 1px #00ffea;
}
main #simulator .simulator__grid__item--slow dd input:-ms-input-placeholder {
  color: #004288;
}
main #simulator .simulator__grid__item--slow::after {
  content: "";
  background-image: url("/products/bizprinter/smartcharge/ecology/images/simulator/grid_line.png");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  width: 3px;
  height: 290px;
  position: absolute;
  top: 0;
  right: -85px;
}
@media screen and (max-width: 767px) {
  main #simulator .simulator__grid__item--slow::after {
    background-image: url("/products/bizprinter/smartcharge/ecology/images/simulator/grid_line_sp.png");
    width: 84.2666666667vw;
    height: 0.2666666667vw;
    left: 50%;
    transform: translateX(-50%);
    top: auto;
    right: auto;
    bottom: -1.3333333333vw;
  }
}
main #simulator .simulator__grid__item--mid {
  position: relative;
}
main #simulator .simulator__grid__item--mid dt {
  border-color: #009cd1;
}
main #simulator .simulator__grid__item--mid dd input {
  color: #00ffff;
}
main #simulator .simulator__grid__item--mid dd input:placeholder-shown {
  color: #75bf89;
}
main #simulator .simulator__grid__item--mid dd input::-webkit-input-placeholder {
  color: rgba(0, 0, 0, 0);
  -webkit-text-stroke: 1px #00ffea;
  paint-order: stroke;
}
main #simulator .simulator__grid__item--mid dd input:-moz-placeholder, main #simulator .simulator__grid__item--mid dd input::-moz-placeholder {
  opacity: 1;
  color: #004288;
  -webkit-text-stroke: 1px #00ffea;
}
main #simulator .simulator__grid__item--mid dd input:-ms-input-placeholder {
  color: #004288;
}
@media screen and (max-width: 767px) {
  main #simulator .simulator__grid__item--mid::before {
    display: none;
  }
}
main #simulator .simulator__grid__item--mid::after {
  content: "";
  background-image: url("/products/bizprinter/smartcharge/ecology/images/simulator/grid_line.png");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  width: 3px;
  height: 290px;
  position: absolute;
  top: 0;
  right: -63px;
}
@media screen and (max-width: 767px) {
  main #simulator .simulator__grid__item--mid::after {
    background-image: url("/products/bizprinter/smartcharge/ecology/images/simulator/grid_line_sp.png");
    width: 84.2666666667vw;
    height: 0.2666666667vw;
    left: 50%;
    transform: translateX(-50%);
    top: auto;
    right: auto;
    bottom: -1.3333333333vw;
  }
}
main #simulator .simulator__grid__item--high {
  position: relative;
}
main #simulator .simulator__grid__item--high dt {
  border-color: #3366cc;
}
main #simulator .simulator__grid__item--high dd input {
  color: #00ffff;
}
main #simulator .simulator__grid__item--high dd input:placeholder-shown {
  color: #75bf89;
}
main #simulator .simulator__grid__item--high dd input::-webkit-input-placeholder {
  color: rgba(0, 0, 0, 0);
  -webkit-text-stroke: 1px #00ffea;
  paint-order: stroke;
}
main #simulator .simulator__grid__item--high dd input:-moz-placeholder, main #simulator .simulator__grid__item--high dd input::-moz-placeholder {
  opacity: 1;
  color: #004288;
  -webkit-text-stroke: 1px #00ffea;
}
main #simulator .simulator__grid__item--high dd input:-ms-input-placeholder {
  color: #004288;
}
@media screen and (max-width: 767px) {
  main #simulator .simulator__grid__item--high::before {
    top: auto;
    bottom: -2.6666666667vw;
  }
}
main #simulator .simulator__grid__txtmgn {
  display: block;
  margin-top: 16px;
}
@media screen and (max-width: 767px) {
  main #simulator .simulator__grid__txtmgn {
    font-size: 3.2vw;
    margin-top: 1.6vw;
  }
}
main #simulator .simulator__notes li {
  display: flex;
  font-size: 14px;
  font-weight: 300;
  line-height: 1.6923076923;
  letter-spacing: 0.045rem;
}
@media screen and (max-width: 767px) {
  main #simulator .simulator__notes li {
    font-size: 3.2vw;
  }
}
main #simulator .simulator__alert {
  margin: -10px 0 20px;
  text-align: center;
  color: #dd3532;
  font-size: 16px;
}
@media screen and (max-width: 767px) {
  main #simulator .simulator__alert {
    margin: 0 0 2.6666666667vw;
    font-size: 3.2vw;
  }
}
main #simulator .simulator__btn {
  margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
  main #simulator .simulator__btn {
    margin-top: 3.7333333333vw;
    margin-bottom: 2.6666666667vw;
  }
}
main #simulator .simulator__btn a {
  display: block;
  margin: 0 auto;
  width: 475px;
  height: 54px;
  line-height: 55px;
  letter-spacing: 0.075rem;
  border-radius: 10px;
  background: #fff;
  font-size: 24px;
  font-weight: bold;
  color: #154994;
  text-align: center;
  text-decoration: none !important;
}
@media screen and (max-width: 767px) {
  main #simulator .simulator__btn a {
    width: 84vw;
    height: 8.5333333333vw;
    font-size: 4.2666666667vw;
    line-height: 9vw;
  }
}
main #simulator .simulator__result {
  position: relative;
  background: #fff;
  padding: 0 16px 13px;
  border-radius: 10px;
  box-shadow: 0 0 6px rgba(22, 132, 115, 0.15);
  display: none;
  color: #333;
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
  main #simulator .simulator__result {
    padding: 0 0 2.2666666667vw;
    margin-top: 2.6666666667vw;
  }
}
main #simulator .simulator__result__desc {
  margin-bottom: 30px;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.37;
  text-align: center;
}
@media screen and (max-width: 767px) {
  main #simulator .simulator__result__desc {
    margin-bottom: 1em;
    font-size: 26px;
    font-size: 3.46667vw;
  }
  main #simulator .simulator__result__desc br {
    display: block !important;
  }
}
main #simulator .simulator__result__inner {
  padding: 40px 0 0;
  background-image: url(/products/bizprinter/smartcharge/ecology/images/simulator/bg-smoke-tree.png);
  background-size: cover;
  background-position: top center;
  background-repeat: no-repeat;
  position: relative;
}
@media screen and (max-width: 767px) {
  main #simulator .simulator__result__inner {
    width: auto;
    padding-top: 4vw;
    border-radius: 10px;
    background-image: url(/products/bizprinter/smartcharge/ecology/images/simulator/bg-smoke-tree-sp.png);
  }
}
main #simulator .simulator__result__inner::before {
  content: "";
  background-image: url("/products/bizprinter/smartcharge/ecology/images/simulator/ill-inner-printer.png");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  width: 96px;
  height: 194px;
  position: absolute;
  right: 74px;
  bottom: -5px;
}
@media screen and (max-width: 767px) {
  main #simulator .simulator__result__inner::before {
    display: none;
  }
}
main #simulator .simulator__result__inner::after {
  content: "";
  background-color: #004288;
  width: 905px;
  height: 2px;
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  main #simulator .simulator__result__inner::after {
    width: 86.6666666667vw;
    height: 0.2666666667vw;
  }
}
main #simulator .simulator__result__title {
  margin: 0 auto 130px;
  padding-top: 12px;
  line-height: 1.5;
  font-size: 18px;
  font-weight: 700;
  color: #fff;
  text-align: center;
  position: absolute;
  top: 40px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
}
@media screen and (max-width: 767px) {
  main #simulator .simulator__result__title {
    width: 58vw;
    margin-bottom: 24.8vw;
    padding-top: 1.6vw;
    font-size: 2.4vw;
    top: 4vw;
  }
}
main #simulator .simulator__result__title-bg {
  width: 436px;
  height: 77px;
  background-color: #004288;
  mix-blend-mode: multiply;
  margin: 0 auto 130px;
}
@media screen and (max-width: 767px) {
  main #simulator .simulator__result__title-bg {
    margin-bottom: 24.8vw;
    width: 58vw;
    height: 10.2666666667vw;
  }
}
main #simulator .simulator__count {
  position: relative;
  display: flex;
  gap: 100px;
  justify-content: center;
  margin: 0 auto 30px;
  margin-left: 100px;
  padding-bottom: 13px;
  color: #0F468C;
}
@media screen and (max-width: 767px) {
  main #simulator .simulator__count {
    gap: 13.3333333333vw;
    margin: 0 auto;
    margin-left: 6.6666666667vw;
    padding-bottom: 0.9333333333vw;
  }
}
main #simulator .simulator__count__title {
  align-self: flex-end;
  font-size: 34px;
  font-weight: bold;
  line-height: 1.125;
  padding-bottom: 10px;
  letter-spacing: 0.03rem;
}
@media screen and (max-width: 767px) {
  main #simulator .simulator__count__title {
    font-size: 4.1333333333vw;
    letter-spacing: 0.075rem;
    padding-bottom: 0;
  }
}
main #simulator .simulator__count__detail {
  display: flex;
  justify-content: flex-start;
  align-items: baseline;
  margin: 5px 0;
  font-size: 27px;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  main #simulator .simulator__count__detail {
    font-size: 3.2vw;
    margin: 0;
  }
}
main #simulator .simulator__count__detail > span {
  line-height: 1;
}
@media screen and (max-width: 767px) {
  main #simulator .simulator__count__detail > span {
    line-height: 1.25;
  }
}
main #simulator .simulator__count__detail > span:last-child {
  font-size: 22px;
}
@media screen and (max-width: 767px) {
  main #simulator .simulator__count__detail > span:last-child {
    font-size: 4.4vw;
  }
}
main #simulator .simulator__count__detail > strong {
  box-sizing: border-box;
  margin: 0 3px 0 0;
  font-size: 55px;
  font-weight: 900;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  main #simulator .simulator__count__detail > strong {
    font-size: 8.9333333333vw;
    background-color: #fff;
    line-height: 1.25;
  }
}
main #simulator .simulator__count__delete {
  font-size: 24px;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  main #simulator .simulator__count__delete {
    font-size: 3.2vw;
    background-color: #fff;
  }
}
main #simulator .simulator__panel {
  position: relative;
}
@media screen and (max-width: 767px) {
  main #simulator .simulator__panel {
    margin-top: 2.6666666667vw;
  }
}
main #simulator .simulator__panel__title {
  font-size: 29px;
  font-weight: 700;
  letter-spacing: 0.075rem;
  text-align: center;
  color: #154994;
}
@media screen and (max-width: 767px) {
  main #simulator .simulator__panel__title {
    display: flex;
    align-items: flex-end;
    gap: 1.8666666667vw;
    margin-left: 28vw;
    font-size: 3.8666666667vw;
    text-align: left;
  }
}
main #simulator .simulator__panel__title::before {
  content: "";
  background-image: url("/products/bizprinter/smartcharge/ecology/images/simulator/ill_inner_printer_sp.png");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  width: 11.3333333333vw;
  height: 23.0666666667vw;
}
main #simulator .simulator__panel__inner {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 20px;
  gap: 40px;
}
@media screen and (max-width: 767px) {
  main #simulator .simulator__panel__inner {
    flex-direction: column;
    margin-top: 3.7333333333vw;
    margin-left: 12vw;
    gap: 2.6666666667vw;
    align-items: flex-start;
  }
}
main #simulator .simulator__panel__text {
  line-height: 1;
  display: flex;
  color: #0f468c;
  align-items: center;
}
main #simulator .simulator__panel__text img {
  width: 110px;
  height: 96px;
}
@media screen and (max-width: 767px) {
  main #simulator .simulator__panel__text img {
    width: 14.6666666667vw;
    height: 12.8vw;
  }
}
main #simulator .simulator__panel__text p {
  font-size: 22px;
  font-weight: bold;
  line-height: 1.25;
}
@media screen and (max-width: 767px) {
  main #simulator .simulator__panel__text p {
    font-size: 3.2vw;
  }
}
main #simulator .simulator__panel__text p span {
  font-size: 30px;
}
@media screen and (max-width: 767px) {
  main #simulator .simulator__panel__text p span {
    font-size: 5.4666666667vw;
  }
}
main #simulator .simulator__panel__text div {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: baseline;
  margin: 0 0 5px 14px;
  font-weight: bold;
}
main #simulator .simulator__panel__text div strong {
  font-size: 55px;
  font-weight: 900;
}
@media screen and (max-width: 767px) {
  main #simulator .simulator__panel__text div strong {
    font-size: 7.3333333333vw;
  }
}
main #simulator .simulator__panel__text div span.wf-oswald {
  font-size: 27px;
}
@media screen and (max-width: 767px) {
  main #simulator .simulator__panel__text div span.wf-oswald {
    font-size: 3.6vw;
  }
}
main #simulator .simulator__panel__text div span.fs22 {
  font-size: 22px;
}
main #simulator .simulator__panel__text div span.fs55 {
  font-size: 55px;
}
main #simulator .simulator__panel__text div span.fs30 {
  font-size: 30px;
}
main #simulator .simulator__panel__text div .fs40 {
  font-size: 40px;
  font-weight: 900;
}
@media screen and (max-width: 767px) {
  main #simulator .simulator__panel__text div .fs40 {
    font-size: 5.4666666667vw;
  }
}
main #simulator .simulator__group + .simulator__group {
  margin-top: 40px;
}
main #simulator .simulator__panel__btn {
  display: block;
  width: 475px;
  height: 55px;
  background-color: #004288;
  margin: 20px auto 0;
  border-radius: 10px;
  text-align: center;
  padding-top: 8px;
}
@media screen and (max-width: 767px) {
  main #simulator .simulator__panel__btn {
    width: 84vw;
    height: 8.6666666667vw;
    margin-top: 4.4vw;
    padding-top: 1.0666666667vw;
  }
}
main #simulator .simulator__panel__btn span {
  color: #fff;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.075rem;
}
@media screen and (max-width: 767px) {
  main #simulator .simulator__panel__btn span {
    font-size: 4.2666666667vw;
  }
}
main #simulator .simulator__panel__btn:hover {
  text-decoration: none;
}
main #simulator .simulator__panel__p {
  color: #231815;
  margin-top: 25px;
}
@media screen and (max-width: 767px) {
  main #simulator .simulator__panel__p {
    margin-top: 2.6666666667vw;
  }
}

#contents .header {
  background: #004288;
}

#contents .header__inner {
  position: relative;
  padding: 10px 0 15px 0;
}

@media screen and (max-width: 767px) {
  #contents .header__inner {
    padding: 2vw 5.3333333333vw;
  }
}
#contents .header__logo {
  width: 280px;
}

@media screen and (max-width: 767px) {
  #contents .header__logo {
    width: 42.3880597015%;
  }
}
#contents .header__anchor {
  display: flex;
  position: absolute;
  z-index: 5;
  top: 50%;
  left: 295px;
  transform: translateY(-50%);
}

@media screen and (max-width: 767px) {
  #contents .header__anchor {
    top: 10.6666666667vw;
    left: 50%;
    width: 100%;
    padding: 0 2.6666666667%;
    transform: translate(-50%, 0);
  }
}
#contents .header__anchor--item {
  position: relative;
}
#contents .header__anchor--item.soon a {
  pointer-events: none;
}
#contents .header__anchor--item.soon a::after {
  display: none;
}

#contents .header__anchor--item.active a {
  border: 1px solid transparent;
  background-color: #1cdbf5;
  color: #002347;
  pointer-events: none;
}
#contents .header__anchor--item.active a::after {
  border-top: 2px solid #002347;
  border-right: 2px solid #002347;
  content: "";
  transform: translateY(-70%) rotate(135deg);
}

#contents .header__anchor--item + .header__anchor--item {
  margin-left: 36px;
}

@media screen and (max-width: 767px) {
  #contents .header__anchor--item + .header__anchor--item {
    margin-left: 5.8666666667vw;
  }
}
#contents .header__anchor--item + .header__anchor--item::before,
#contents .header__anchor--item + .header__anchor--item::after {
  display: block;
  position: absolute;
  top: 50%;
  left: -18px;
  width: 2px;
  height: 25px;
  background-color: #ffffff;
  content: "";
  transform-origin: top;
}

@media screen and (max-width: 767px) {
  #contents .header__anchor--item + .header__anchor--item::before,
  #contents .header__anchor--item + .header__anchor--item::after {
    left: -2.9333333333vw;
    width: 0.2666666667vw;
    height: 4.5333333333vw;
  }
}
#contents .header__anchor--item + .header__anchor--item::before {
  transform: rotate(45deg) translateY(-50%);
}

#contents .header__anchor--item + .header__anchor--item::after {
  transform: rotate(-45deg) translateY(-50%);
}

#contents .header__anchor--item a {
  display: block;
  position: relative;
  padding: 5px 35px 8px 35px;
  border: 1px solid #ffffff;
  border-radius: 100px;
  background-color: #004288;
  color: #ffffff;
  font-family: "Noto Serif JP", serif;
  font-size: 19px;
  line-height: 1;
  transition: background-color 0.2s, color 0.2s, border 0.2s;
}
#contents .header__anchor--item a::after {
  display: block;
  position: absolute;
  top: 50%;
  right: 12px;
  width: 10px;
  height: 10px;
  border-top: 2px solid #ffffff;
  border-right: 2px solid #ffffff;
  content: "";
  transition: border 0.2s;
  transform: translateY(-50%) rotate(45deg);
}
@media screen and (max-width: 767px) {
  #contents .header__anchor--item a::after {
    right: 2vw;
    width: 1.3333333333vw;
    height: 1.3333333333vw;
  }
}

@media screen and (max-width: 767px) {
  #contents .header__anchor--item a {
    padding: 0.6666666667vw 4vw 1.0666666667vw 4vw;
    font-size: 3.2vw;
  }
}
#contents .header__anchor--item a:hover {
  border: 1px solid transparent;
  background-color: #1cdbf5;
  opacity: 1;
  color: #002347;
  text-decoration: none;
  transition: background-color 0.2s, color 0.2s, border 0.2s;
}
#contents .header__anchor--item a:hover::after {
  border-top: 2px solid #002347;
  border-right: 2px solid #002347;
  content: "";
  transition: border 0.2s;
}

main .mv {
  background-color: #004288;
}

main .mv__inner {
  position: relative;
  width: 1240px;
  margin: 0 auto;
  padding-bottom: 10px;
}

@media screen and (max-width: 767px) {
  main .mv__inner {
    width: 100%;
  }
}
main .mv__img {
  position: relative;
  z-index: 0;
  width: 654px;
  margin-left: -136px;
}

@media screen and (max-width: 767px) {
  main .mv__img {
    width: 50.1333333333%;
    margin-left: 0;
  }
}
main .mv__title {
  position: absolute;
  z-index: 2;
  top: 42px;
  left: 124px;
  color: #ffffff;
}

@media screen and (max-width: 767px) {
  main .mv__title {
    top: 11vw;
    left: 2.6666666667vw;
  }
}
main .mv__title span,
main .mv__title small,
main .mv__title strong {
  display: inline-block;
  line-height: 1;
}

main .mv__title > .lead {
  font-family: "Noto Serif JP", serif;
  font-size: 27px;
}

@media screen and (max-width: 767px) {
  main .mv__title > .lead {
    font-size: 3.8666666667vw;
  }
}
main .mv__title > strong {
  margin-top: 10px;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 43px;
  font-weight: 900;
}

@media screen and (max-width: 767px) {
  main .mv__title > strong {
    font-size: 6vw;
    margin-top: 2vw;
  }
}
main .mv__title > strong > small {
  font-family: "Noto Serif JP", serif;
  font-size: 43px;
  font-weight: 400;
}

@media screen and (max-width: 767px) {
  main .mv__title > strong > small {
    font-size: 6vw;
  }
}
main .mv__title > strong > .bg {
  position: relative;
  padding: 2px 6px 4px 6px;
}

@media screen and (max-width: 767px) {
  main .mv__title > strong > .bg {
    padding: 0 0.8vw 0.8vw 0.8vw;
  }
}
main .mv__title > strong > .bg::after {
  display: block;
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 0;
  width: 90%;
  height: 100%;
  background-color: #ffffff;
  content: "";
  transform: translateY(-50%);
}

main .mv__title > strong > .bg > span {
  position: relative;
  z-index: 2;
  color: #004288;
}

main .mv__cut {
  position: absolute;
  top: 50%;
  left: 558px;
  width: 223px;
  height: 157px;
  padding: 30px 0 0 5px;
  background: url(/products/bizprinter/smartcharge/ecology/images/ps-mv-cut.svg) no-repeat center center;
  background-size: 100%;
  transform: translateY(-50%);
}

@media screen and (max-width: 767px) {
  main .mv__cut {
    top: 70%;
    left: 34.8%;
    width: 29.4vw;
    aspect-ratio: 226/108;
    background: url(/products/bizprinter/smartcharge/ecology/images/ps-mv-cut-sp.svg) no-repeat right center;
    height: auto;
    padding: 0;
  }
}
main .mv__cut .text--01 {
  display: block;
  color: #ffffff;
  font-family: "Noto Serif JP", serif;
  font-size: 24px;
  font-weight: 400;
  line-height: 1;
}

@media screen and (max-width: 767px) {
  main .mv__cut .text--01 {
    font-size: 3.8vw;
  }
}
main .mv__cut .text--01 strong {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 28px;
  font-weight: 700;
}

@media screen and (max-width: 767px) {
  main .mv__cut .text--01 strong {
    font-size: 3.8vw;
  }
}
main .mv__cut .text--01 strong sub {
  font-size: 0.6em;
  vertical-align: middle;
}

main .mv__cut .text--02 {
  display: block;
  position: relative;
  color: #ffffff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 26px;
  font-weight: 700;
  line-height: 1;
}

@media screen and (max-width: 767px) {
  main .mv__cut .text--02 {
    font-size: 4.15vw;
  }
}
main .mv__cut .text--02 strong {
  font-size: 76px;
}

@media screen and (max-width: 767px) {
  main .mv__cut .text--02 strong {
    font-size: 11vw;
  }
}
main .mv__cut .text--02 > .max {
  position: absolute;
  top: 16px;
  left: 92px;
  width: 77px;
  height: 30px;
  padding-top: 2px;
  background: url(/products/bizprinter/smartcharge/ecology/images/bg-mv-cut-max.svg) no-repeat center center;
  background-size: 100%;
  color: #004288;
  font-size: 17px;
  font-weight: 700;
  text-align: center;
}

@media screen and (max-width: 767px) {
  main .mv__cut .text--02 > .max {
    top: 2.5vw;
    left: 13.5vw;
    width: 11.4666666667vw;
    height: 4.4vw;
    font-size: 2.5555vw;
    padding-top: 0.3vw;
  }
}
main .mv__cut .text--02 > .max > span {
  position: absolute;
  top: 0;
  right: -3.5em;
  color: #ffffff;
  font-size: 13px;
}
@media screen and (max-width: 767px) {
  main .mv__cut .text--02 > .max > span {
    top: -1.3em;
    right: -0.5em;
    font-size: 1.7333333333vw;
  }
}

main .mv__award {
  position: absolute;
  z-index: 2;
  top: 138px;
  left: 184px;
  width: 231px;
}

@media screen and (max-width: 767px) {
  main .mv__award {
    left: auto;
    top: auto;
    right: 3vw;
    bottom: -20vw;
    width: 35.3vw;
  }
}
main .mv__balance {
  position: absolute;
  z-index: 10;
  right: 35px;
  bottom: -30px;
  width: 455px;
  pointer-events: none;
}

@media screen and (max-width: 767px) {
  main .mv__balance {
    left: 50%;
    transform: translateX(-50%);
    bottom: -31vw;
    width: 83.2vw;
  }
}
main > .lead {
  margin-top: 23px;
}
@media screen and (max-width: 767px) {
  main > .lead {
    margin-top: 31vw;
  }
}
main > .lead .lead__text {
  color: #004288;
  font-size: 19px;
  font-weight: bold;
  text-align: center;
  line-height: 1.6470588235;
}
@media screen and (max-width: 767px) {
  main > .lead .lead__text {
    font-size: 3.2vw;
  }
}

.lineup {
  margin-top: 23px;
  background-color: #004288;
}
@media screen and (max-width: 767px) {
  .lineup {
    margin-top: 2.6666666667vw;
  }
}
.lineup__inner {
  position: relative;
  width: 870px;
  margin: 0 auto;
  background-color: #ffffff;
}
@media screen and (max-width: 767px) {
  .lineup__inner {
    width: 76%;
  }
}
.lineup__inner::before, .lineup__inner::after {
  display: block;
  position: absolute;
  top: 0;
  width: 14px;
  height: 100%;
  background-color: #ffffff;
  content: "";
}
@media screen and (max-width: 767px) {
  .lineup__inner::before, .lineup__inner::after {
    width: 2.6666666667vw;
  }
}
.lineup__inner::before {
  left: -14px;
}
@media screen and (max-width: 767px) {
  .lineup__inner::before {
    left: -2.6666666667vw;
  }
}
.lineup__inner::after {
  right: -14px;
}
@media screen and (max-width: 767px) {
  .lineup__inner::after {
    right: -2.6666666667vw;
  }
}
.lineup__title {
  padding: 6px 12px;
  background-color: #004288;
  color: #ffffff;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .lineup__title {
    padding: 0.6666666667vw 0;
    font-size: 3.0666666667vw;
    text-align: center;
  }
}
.lineup__list {
  display: flex;
  justify-content: space-between;
  margin-top: 14px;
}
@media screen and (max-width: 767px) {
  .lineup__list {
    flex-wrap: wrap;
    margin-top: 2.4vw;
  }
}
.lineup__item {
  width: 208px;
  height: 204px;
  background: url(/products/bizprinter/smartcharge/index/images/bg-lineup-item-on.png) no-repeat center center;
  background-size: 100%;
}
@media screen and (max-width: 767px) {
  .lineup__item {
    width: 48.4210526316%;
    height: 48.7719298246%;
  }
}
@media screen and (max-width: 767px) {
  .lineup__item:nth-child(n+3) {
    margin-top: 5.3333333333vw;
  }
}
.lineup__item a {
  display: block;
  position: relative;
}
.lineup__item a:hover {
  opacity: 1;
}
.lineup__item a:hover .lineup__item--bg {
  opacity: 0;
  transition: opacity 0.2s;
}
.lineup__item a:hover .lineup__item--name {
  color: #004288;
  transition: color 0.2s;
}
.lineup__item a:hover .lineup__item--name::after {
  background: url(/products/bizprinter/smartcharge/index/common/images/ps-link-arrow-hover.svg) no-repeat center center;
  background-size: 100%;
  transition: background 0.2s;
}
.lineup__item a:hover .lineup__item--img {
  transition: transform 0.2s;
  transform: translateX(-50%) scale(1.25);
}
@media screen and (max-width: 767px) {
  .lineup__item a:hover .lineup__item--img {
    transform: translateX(-50%) scale(1.1);
  }
}
.lineup__item--bg {
  transition: opacity 0.2s;
}
.lineup__item--name {
  position: absolute;
  top: 8px;
  left: 50%;
  margin-left: -10px;
  color: #ffffff;
  font-size: 15px;
  font-weight: 700;
  text-align: center;
  white-space: nowrap;
  transition: color 0.2s;
  transform: translateX(-50%);
  line-height: 1.8181818182;
}
@media screen and (max-width: 767px) {
  .lineup__item--name {
    top: 2.4vw;
    font-size: 2.6666666667vw;
  }
}
.lineup__item--name::after {
  display: block;
  position: absolute;
  top: 8px;
  right: -22px;
  width: 16px;
  height: 14px;
  background: url(/products/bizprinter/smartcharge/index/common/images/ps-link-arrow.svg) no-repeat center center;
  background-size: 100%;
  content: "";
  transition: background 0.2s;
}
@media screen and (max-width: 767px) {
  .lineup__item--name::after {
    top: 1.4666666667vw;
    right: -3.3333333333vw;
    width: 2.6666666667vw;
    height: 2.2666666667vw;
  }
}
.lineup__item--name span {
  display: block;
  font-size: 10px;
}
@media screen and (max-width: 767px) {
  .lineup__item--name span {
    font-size: 1.8666666667vw;
  }
}
.lineup__item--img {
  position: absolute;
  bottom: -13px;
  left: 50%;
  width: 144px;
  transition: transform 0.2s;
  transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  .lineup__item--img {
    bottom: -2.4vw;
    width: 27.3333333333vw;
  }
}

/* swipe */
@media screen and (min-width: 768px) {
  .spOnly {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .pcOnly {
    display: none;
  }
}
main .slider {
  margin-top: 32px;
}

@media screen and (max-width: 767px) {
  main .slider {
    margin-top: 8vw;
  }
}
main .slider__inner {
  overflow-x: hidden;
  width: 1240px;
  position: relative;
  padding-top: 115px;
}

@media screen and (max-width: 767px) {
  main .slider__inner {
    width: 100%;
    padding-top: 15vw;
  }
}
main .slider__inner::before {
  content: "";
  display: block;
  background-color: #004288;
  width: 100%;
  height: 5px;
  position: absolute;
  top: 45px;
}

@media screen and (max-width: 767px) {
  main .slider__inner::before {
    top: 6vw;
    height: 0.6666666667vw;
    width: 95%;
    transform: translateX(2.5vw);
  }
}
main .slider__title {
  top: 0;
  margin-bottom: 48px;
}

@media screen and (max-width: 767px) {
  main .slider__title {
    margin-bottom: 10vw;
  }
}
main .slider__list {
  display: flex;
  transition: transform 0.4s ease;
  width: 100%;
}

@media screen and (max-width: 767px) {
  main .slider__list {
    margin: 6.9333333333vw 0;
  }
}
main .slider__list--item {
  flex: 0 0 100%;
  max-width: 100%;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  position: relative;
}

main .slider__button {
  position: absolute;
  top: 160px;
  right: 174px;
  display: flex;
  width: 290px;
  justify-content: space-between;
}

@media screen and (max-width: 767px) {
  main .slider__button {
    right: 4.5vw;
    width: 42.6666666667vw;
    top: 20vw;
  }
}
main .slider__button button {
  position: relative;
  border: 2px solid transparent;
  font-family: "Noto Sans JP", sans-serif !important;
}
main .slider__button button:hover {
  text-decoration: underline;
}
main .slider__button button:focus {
  border: 2px solid #000000;
}

main .slider__button--prev::before {
  content: "";
  display: block;
  width: 15px;
  height: 26px;
  background: url(/products/bizprinter/smartcharge/ecology/images/slider-button--prev.png) no-repeat center center;
  background-size: contain;
  position: absolute;
  left: -20px;
}

@media screen and (max-width: 767px) {
  main .slider__button--prev::before {
    top: 0.6666666667vw;
    left: -3.2vw;
    width: 2.1333333333vw;
    height: 3.7vw;
  }
}
main .slider__button--next::before {
  content: "";
  display: block;
  width: 15px;
  height: 26px;
  background: url(/products/bizprinter/smartcharge/ecology/images/slider-button--next.png) no-repeat center center;
  background-size: contain;
  position: absolute;
  right: -20px;
}

@media screen and (max-width: 767px) {
  main .slider__button--next::before {
    top: 0.6666666667vw;
    right: -3.2vw;
    width: 2.1333333333vw;
    height: 3.7vw;
  }
}
main .slider__button span {
  color: #154994;
  font-size: 17px;
  font-weight: 700;
}

@media screen and (max-width: 767px) {
  main .slider__button span {
    font-size: 3.3333333333vw;
  }
}
main .slider__list--item picture {
  width: 89.2741935484%;
  display: block;
}

@media screen and (max-width: 767px) {
  main .slider__list--item picture {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  main .slider__head {
    margin-top: -5vw;
  }
}
main .slider__item1 {
  color: #595757;
  font-weight: 700;
  position: absolute;
  font-size: 39.6px;
  left: 282px;
  top: 0px;
  line-height: 1.1;
  text-align: center;
}
main .slider__item1 span {
  font-size: 20px;
  margin-bottom: 30px;
  display: inline-block;
}
main .slider__item1 small {
  font-size: 30px;
}
main .slider__item1 u {
  font-size: 15px;
  display: inline-block;
  text-underline-offset: 4px;
  transform: translateY(-5px);
}

@media screen and (max-width: 767px) {
  main .slider__item1 {
    left: 8vw;
    font-size: 5.3333333333vw;
  }
  main .slider__item1 span {
    margin-bottom: 4vw;
    font-size: 3.2vw;
  }
  main .slider__item1 small {
    font-size: 4vw;
  }
  main .slider__item1 u {
    margin-left: 0.5em;
    font-size: 3.2vw;
    text-underline-offset: 0.5333333333vw;
    transform: translateY(-0.6666666667vw);
  }
}
main .slider__item2 {
  color: #154994;
  font-weight: 700;
  position: absolute;
  font-size: 39.6px;
  right: 189px;
  top: 13px;
  line-height: 1.1;
  text-align: center;
}
main .slider__item2 span {
  display: block;
  line-height: 1.5;
  font-size: 20px;
}

@media screen and (max-width: 767px) {
  main .slider__item2 {
    top: 1.9vw;
    right: 5.0666666667vw;
    font-size: 5.0666666667vw;
  }
  main .slider__item2 span {
    font-size: 3.2vw;
    line-height: 1.3;
  }
}
main .slider__item3 {
  color: #fff;
  font-weight: 700;
  position: absolute;
  left: 329px;
  bottom: 292px;
  font-size: 43.2px;
  text-align: center;
  line-height: 0.5;
}
main .slider__item3 span {
  font-size: 16.9px;
}
main .slider__item3 span sub {
  font-size: 10px;
}

@media screen and (max-width: 767px) {
  main .slider__item3 {
    left: 18.4vw;
    font-size: 5.7333333333vw;
    bottom: 37.3333333333vw;
    line-height: 0.7;
  }
  main .slider__item3 span {
    font-size: 3.2vw;
  }
}
main .slider__item3.custom {
  letter-spacing: 0;
  left: 346px;
}

@media screen and (max-width: 767px) {
  main .slider__item3.custom {
    left: 19.3333333333vw;
  }
}
main .slider__item4 {
  color: #39B54A;
  font-weight: 700;
  position: absolute;
  right: 238px;
  bottom: 148px;
  font-size: 82.3px;
  text-align: center;
  line-height: 0.7;
}
main .slider__item4 span {
  font-size: 28px;
}
main .slider__item4 sup {
  font-size: 13.3px;
  display: block;
  transform: translate(75px, -30px);
}

@media screen and (max-width: 767px) {
  main .slider__item4 {
    right: 12.8vw;
    bottom: 23.7333333333vw;
    font-size: 11.1vw;
  }
  main .slider__item4 span {
    font-size: 3.7333333333vw;
  }
  main .slider__item4 sup {
    font-size: 1.7777777778vw;
    transform: translate(10vw, -4vw);
  }
}
main .slider__item4.custom {
  bottom: 214px;
}

@media screen and (max-width: 767px) {
  main .slider__item4.custom {
    bottom: 29.6vw;
  }
}
main .slider__item5 {
  color: #fff;
  font-weight: 700;
  position: absolute;
  right: 292px;
  bottom: 58px;
  font-size: 43.2px;
  text-align: center;
  line-height: 0.5;
}
main .slider__item5 span {
  font-size: 16.9px;
}
main .slider__item5 span sub {
  font-size: 10px;
}

@media screen and (max-width: 767px) {
  main .slider__item5 {
    right: 19.3333333333vw;
    bottom: 6.1333333333vw;
    font-size: 5.6vw;
    line-height: 0.7;
  }
  main .slider__item5 span {
    font-size: 3.2vw;
  }
}
main .slider__item5.custom {
  right: 274px;
  bottom: 100px;
}

main .slider__item5.custom2 {
  right: 286px;
}

@media screen and (max-width: 767px) {
  main .slider__item5.custom {
    bottom: 15.6vw;
    right: 18.4vw;
  }
}
@media screen and (max-width: 767px) {
  main .slider__item5.custom2 {
    right: 19.3333333333vw;
  }
}
main .slider__item6 {
  color: #004288;
  font-weight: 700;
  position: absolute;
  font-size: 41px;
  bottom: 24px;
  left: 495px;
}
main .slider__item6 sup {
  font-size: 17px;
  display: block;
  transform: translate(274px, -35px);
}
main .slider__item6 sub {
  font-size: 30px;
  display: inline-block;
  transform: translateY(-6px);
}
main .slider__item6 .sp-br {
  display: none;
}

@media screen and (max-width: 767px) {
  main .slider__item6 {
    font-size: 4.1333333333vw;
    bottom: 3.2vw;
    text-align: center;
    left: 40vw;
    line-height: 1.2;
  }
  main .slider__item6 sup {
    font-size: 2.2666666667vw;
    transform: translate(8.2vw, -6vw);
  }
  main .slider__item6 .sp-br {
    display: inline-block;
  }
  main .slider__item6 sub {
    font-size: 2.4vw;
    display: inline-block;
    transform: translateY(-0.5333333333vw);
  }
}
@media screen and (max-width: 767px) {
  main .slider__note--item {
    padding-right: 0.4em;
  }
}
/* graph */
main .graph__inner {
  width: 1240px;
  margin: 0 auto;
  padding: 40px 0 50px 0;
  font-family: "Noto Sans JP", sans-serif;
}
@media screen and (max-width: 767px) {
  main .graph__inner {
    width: 100%;
    padding: 5.3333333333vw 0 6.4vw 0;
  }
}
main .graph__info {
  position: relative;
  padding: 0 678px 0 124px;
}
@media screen and (max-width: 767px) {
  main .graph__info {
    padding: 0 2.6666666667vw;
  }
}
main .graph__title {
  font-size: 31px;
  font-weight: 700;
  color: #004288;
  line-height: 1.5806451613;
}
@media screen and (max-width: 767px) {
  main .graph__title {
    font-size: 4.1333333333vw;
    text-align: center;
  }
}
main .graph__title sup {
  margin: 0 -1em;
  font-size: 0.5em;
  vertical-align: super;
}
main .graph__img {
  position: absolute;
  top: 0;
  right: -30px;
  width: 681px;
}
@media screen and (max-width: 767px) {
  main .graph__img {
    position: static;
    width: 100%;
    margin: 3.7333333333vw auto 0 auto;
  }
}
main .graph__img h3 {
  margin-left: -100px;
  font-size: 19px;
  font-weight: 700;
  text-align: center;
  color: #004288;
  line-height: 1.5263157895;
}
@media screen and (max-width: 767px) {
  main .graph__img h3 {
    margin-left: 0;
    font-size: 3.2vw;
    line-height: 1.4166666667;
  }
}
main .graph__img figure {
  margin-top: 10px;
}
@media screen and (max-width: 767px) {
  main .graph__img figure {
    width: 94.3661971831%;
    margin: 1.3333333333vw auto 0 auto;
  }
}
main .graph__lead {
  margin-top: 30px;
  font-size: 17px;
  font-weight: 300;
  color: #231815;
  line-height: 1.8823529412;
}
@media screen and (max-width: 767px) {
  main .graph__lead {
    margin-top: 2.6666666667vw;
    font-size: 3.2vw;
    line-height: 1.6666666667;
  }
}
main .graph__lead span {
  font-weight: 700;
}
main .graph__note {
  margin-top: 62px;
}
@media screen and (max-width: 767px) {
  main .graph__note {
    margin-top: 2.4vw;
  }
}
main .graph__note--item {
  padding-left: 2em;
  text-indent: -2em;
  font-size: 14px;
  font-weight: 300;
  color: #231815;
  line-height: 1.5714285714;
}
@media screen and (max-width: 767px) {
  main .graph__note--item {
    font-size: 3.2vw;
    line-height: 1.375;
  }
}

/* other */
main .other {
  background-color: #004288;
}

main .other__inner {
  position: relative;
  width: 990px;
  margin: 0 auto;
  padding-top: 70px;
  padding-bottom: 15px;
}

@media screen and (max-width: 767px) {
  main .other__inner {
    padding-top: 0vw;
    width: calc(100% - 5vw);
    margin: 0 2.5vw;
    padding-bottom: 5vw;
  }
}
main .other__title {
  width: 380px;
  height: 48px;
  transform: translate(-18%, 50%);
  z-index: 10;
  position: relative;
}

@media screen and (max-width: 767px) {
  main .other__title {
    width: 49.66vw;
    height: auto;
    aspect-ratio: 380/48;
    transform: translate(40%, 50%);
  }
}
main .other__img {
  position: relative;
  color: #004288;
  position: relative;
  font-family: "Noto Sans JP", sans-serif;
}

main .other__img h5 {
  position: absolute;
  font-size: 26px;
  line-height: 1;
  font-weight: 700;
}

@media screen and (max-width: 767px) {
  main .other__img h5 {
    font-size: 3.2vw;
    color: #6D6B6B;
    white-space: nowrap;
    letter-spacing: -0.02em;
  }
}
main .other__img h6 {
  position: absolute;
  font-size: 19px;
  line-height: 1.2;
  font-weight: 700;
}

@media screen and (max-width: 767px) {
  main .other__img h6 {
    font-size: 3.4666666667vw;
  }
}
main .other__img h5 span {
  display: inline-block;
  font-size: 12px;
  line-height: 1.3;
}

@media screen and (max-width: 767px) {
  main .other__img h5 span {
    display: inline;
    font-size: 3.4666666667vw;
  }
}
main .other__img h6 span {
  font-size: 43px;
  height: 50px;
  display: block;
}

@media screen and (max-width: 767px) {
  main .other__img h6 span {
    font-size: 5.7333333333vw;
    height: auto;
  }
}
main .other__img h6 sup {
  font-size: 26px;
}

@media screen and (max-width: 767px) {
  main .other__img h6 sup {
    font-size: 3.4666666667vw;
  }
}
main .other__img h6 sub {
  font-size: 12px;
}

@media screen and (max-width: 767px) {
  main .other__img h6 sub {
    font-size: 3.2vw;
  }
}
main .other__8180 {
  top: 165px;
  left: 40px;
}

@media screen and (max-width: 767px) {
  main .other__8180 {
    top: 34.6666666667vw;
    left: 47%;
    transform: translateX(-50%);
  }
}
main .other__10050 {
  top: 285px;
  left: 40px;
}

@media screen and (max-width: 767px) {
  main .other__10050 {
    top: 68.6666666667vw;
    left: 49%;
    transform: translateX(-50%);
    color: #004288 !important;
    text-shadow: 1px 1px 0 #FFF, -1px -1px 0 #FFF, -1px 1px 0 #FFF, 1px -1px 0 #FFF, 0px 1px 0 #FFF, 0 -1px 0 #FFF, -1px 0 0 #FFF, 1px 0 0 #FFF;
  }
}
main .other__8180-count {
  top: 170px;
  right: 45px;
  color: #6D6B6B;
  text-align: center;
}

@media screen and (max-width: 767px) {
  main .other__8180-count {
    top: 42.6666666667vw;
    right: 4.6666666667vw;
  }
}
main .other__8180-count span {
  border-bottom: 1px solid #6D6B6B;
}
@media screen and (max-width: 767px) {
  main .other__8180-count span {
    border-bottom: none;
  }
  main .other__8180-count span::after {
    display: block;
    content: "";
    width: 80%;
    height: 1px;
    margin: 0 auto;
    background-color: #6D6B6B;
  }
}

main .other__8180-count sup {
  display: inline-block;
  transform: translateY(6px);
}

@media screen and (max-width: 767px) {
  main .other__8180-count sup {
    transform: translateY(0.8vw);
  }
}
main .other__8180-count sub {
  display: inline-block;
  transform: translateY(-3px);
}

@media screen and (max-width: 767px) {
  main .other__8180-count sub {
    transform: translateY(-0.4vw);
  }
}
main .other__10050-count {
  top: 295px;
  right: 440px;
  color: #EB6100;
  text-align: center;
}

@media screen and (max-width: 767px) {
  main .other__10050-count {
    top: 80vw;
    right: 4.6666666667vw;
  }
}
main .other__10050-count span {
  border-bottom: 1px solid #EB6100;
}
@media screen and (max-width: 767px) {
  main .other__10050-count span {
    border-bottom: none;
  }
  main .other__10050-count span::after {
    display: block;
    content: "";
    width: 80%;
    height: 1px;
    margin: 0 auto;
    background-color: #EB6100;
  }
}

main .other__10050-count sup {
  display: inline-block;
  transform: translateY(6px);
}

@media screen and (max-width: 767px) {
  main .other__10050-count sup {
    transform: translateY(0.8vw);
  }
}
main .other__10050-count sub {
  display: inline-block;
  transform: translateY(-3px);
}

@media screen and (max-width: 767px) {
  main .other__10050s-count sub {
    transform: translateY(-0.4vw);
  }
}
main .other__img h2 {
  font-size: 22px;
  font-weight: 700;
  position: absolute;
  top: 60px;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  text-align: center;
}

@media screen and (max-width: 767px) {
  main .other__img h2 {
    font-size: 4.1333333333vw;
    top: 6.6666666667vw;
    line-height: 1.5806451613;
  }
}
main .other__img h4 {
  font-size: 16px;
  font-weight: 700;
  position: absolute;
  top: 90px;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  text-align: center;
  letter-spacing: 1.4px;
  line-height: 18px;
}
@media screen and (max-width: 767px) {
  main .other__img h4 {
    top: 22vw;
    font-size: 3.3333333333vw;
    line-height: 3.3333333333vw;
  }
}

main .other__img h4 span {
  font-size: 0.6em;
  vertical-align: text-top;
}

main .other__img h3 {
  font-size: 21px;
  font-weight: 700;
  position: absolute;
  bottom: 185px;
  left: 45px;
  letter-spacing: 1.4px;
  padding-left: 5px;
}

@media screen and (max-width: 767px) {
  main .other__img h3 {
    line-height: 1.5;
    font-size: 3.4666666667vw;
    left: 0;
    bottom: 51.617%;
    text-align: center;
    width: 100%;
  }
}
main .other__img p {
  font-size: 17px;
  font-weight: 400;
  position: absolute;
  bottom: 35px;
  left: 45px;
  letter-spacing: 1px;
  color: #231815;
  width: 66%;
  line-height: 1.8;
  padding-left: 5px;
  letter-spacing: -0.4px;
}

@media screen and (max-width: 767px) {
  main .other__img p {
    line-height: 1.7;
    font-size: 3.2vw;
    bottom: 39.573%;
    width: 100%;
    left: 0;
    padding: 0 2vw;
    font-weight: 300;
    letter-spacing: 0.1px;
  }
}
main .other__img .bold {
  font-weight: 700;
}

main .other__img .ps {
  font-size: 12px;
  vertical-align: text-top;
  font-weight: 300;
  margin: 0 -0.5em;
}

@media screen and (max-width: 767px) {
  main .other__img .ps {
    font-size: 1.5555vw;
  }
}
@media screen and (max-width: 767px) {
  main .other__lead {
    position: absolute;
    bottom: 2.976%;
    padding: 0 2vw;
  }
}
main .other__lead li {
  font-size: 14px;
  text-indent: -2em;
  padding-left: 2em;
  color: #fff;
  margin-top: 15px;
  letter-spacing: -0.6px;
  line-height: 1.6;
  font-family: "Noto Sans JP", sans-serif;
}
@media screen and (max-width: 767px) {
  main .other__lead li {
    width: 56.1403508772%;
    color: #000;
    font-size: 3.2vw;
    font-weight: 300;
  }
}

main .other__lead li + li {
  margin-top: 0;
}
@media screen and (max-width: 767px) {
  main .other__lead li + li {
    width: 100%;
  }
}

/* youtube */
main .youtube {
  background-color: #004288;
}

@media screen and (max-width: 767px) {
  main .youtube {
    margin-top: 10vw;
  }
}
main .youtube__inner {
  width: 990px;
  margin: 0 auto;
  padding-top: 70px;
}

@media screen and (max-width: 767px) {
  main .youtube__inner {
    width: calc(100% - 5vw);
    margin: 0 2.5vw;
    padding-top: 10vw;
  }
}
main .youtube__info {
  display: flex;
  gap: 35px;
}

@media screen and (max-width: 767px) {
  main .youtube__info {
    gap: 3vw;
  }
}
@media screen and (max-width: 767px) {
  main .youtube__info {
    flex-direction: column;
  }
}
@media screen and (max-width: 767px) {
  main .youtube__wrapper {
    display: flex;
    justify-content: center;
  }
}
main iframe {
  width: 590px;
  height: 330px;
}

@media screen and (max-width: 767px) {
  main iframe {
    width: 83%;
    height: auto;
    aspect-ratio: 590/330;
  }
}
main .youtube__lead {
  color: #fff;
}

main .youtube__lead h2 {
  font-size: 28px;
  font-weight: 700;
  margin-bottom: 65px;
  font-family: "Noto Sans JP", sans-serif;
}

@media screen and (max-width: 767px) {
  main .youtube__lead h2 {
    font-size: 4vw;
    text-align: center;
    margin-bottom: 3vw;
  }
}
main .youtube__lead p {
  font-size: 20px;
  font-weight: 300;
  font-family: "Noto Sans JP", sans-serif;
}

@media screen and (max-width: 767px) {
  main .youtube__lead p {
    font-size: 3.2vw;
  }
}
/* article */
main .article {
  padding: 84px 0 100px 0;
  background-color: #004288;
  font-family: "Zen Kaku Gothic New", "Noto Sans JP", sans-serif;
}

@media screen and (max-width: 767px) {
  main .article {
    overflow: hidden;
    padding: 6.5333333333vw 2.6666666667vw 7.2vw 2.6666666667vw;
  }
}
main .article__inner {
  width: 1240px;
  margin: 0 auto;
  padding: 0 125px;
}

@media screen and (max-width: 767px) {
  main .article__inner {
    width: 100%;
    padding: 0;
  }
}
main .article__title {
  color: #ffffff;
  font-size: 29px;
  font-weight: 700;
  text-align: center;
  line-height: 1;
}

@media screen and (max-width: 767px) {
  main .article__title {
    font-size: 3.8666666667vw;
  }
}
main .article__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  position: relative;
  margin-top: 62px;
}

@media screen and (max-width: 767px) {
  main .article__list {
    margin-top: 4.6666666667vw;
  }
}
main .article__list--left {
  padding-left: 336px;
}

@media screen and (max-width: 767px) {
  main .article__list--left {
    padding-left: 0;
  }
}
main .article__item {
  width: 320px;
}

@media screen and (max-width: 767px) {
  main .article__item {
    width: 48.7323943662%;
  }
}
main .article__item a {
  display: block;
  position: relative;
  width: 369px;
  margin: -17px -32px -32px -17px;
  color: #004288;
}

@media screen and (max-width: 767px) {
  main .article__item a {
    width: 115.6069364162%;
    margin: -5.2023121387% -10.4046242775% -10.4046242775% -5.2023121387%;
  }
}
main .article__item a::after {
  display: block;
  position: absolute;
  right: 48px;
  bottom: 44px;
  width: 18px;
  height: 16px;
  background: url(/products/bizprinter/smartcharge/index/common/images/ps-link-arrow-hover.svg) no-repeat center center;
  background-size: 100%;
  content: "";
}

@media screen and (max-width: 767px) {
  main .article__item a::after {
    right: 6.9333333333vw;
    bottom: 6.4vw;
    width: 2.6666666667vw;
    height: 2.2666666667vw;
  }
}
@media screen and (max-width: 767px) {
  main .article__item:nth-child(n+3) {
    margin-top: 2.5352112676%;
  }
}
main .article__item--01 {
  position: absolute;
  top: 0;
  left: 0;
}

@media screen and (max-width: 767px) {
  main .article__item--01 .article__item--tag {
    display: block;
    top: 20.7843137255%;
    left: 8.25%;
  }
}
@media screen and (max-width: 767px) {
  main .article__item--01 .article__item--tag > li + li {
    margin-top: 2.6666666667vw;
    margin-left: 0;
  }
}
@media screen and (max-width: 767px) {
  main .article__item--01 .article__item--title {
    top: 10.7843137255%;
    right: 13%;
    font-size: 4.8vw;
    letter-spacing: -0.05em;
    writing-mode: vertical-rl;
    line-height: 1.4444444444;
    white-space: nowrap;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  main .article__item--01 .article__item--title span {
    display: inline-block;
    writing-mode: horizontal-tb;
  }
}
@media screen and (max-width: 767px) {
  main .article__item--01 .article__item--sub {
    top: 10.7843137255%;
    right: 43%;
    white-space: nowrap;
    writing-mode: vertical-rl;
  }
}
@media screen and (max-width: 767px) {
  main .article__item--02 {
    margin-left: 51.2676056338%;
  }
}
@media screen and (max-width: 767px) {
  main .article__item--03 {
    margin-left: 51.2676056338%;
  }
}
main .article__item--number {
  position: absolute;
  top: 10px;
  left: 33px;
  padding-bottom: 4px;
  border-bottom: 1px solid #004288;
  font-size: 42px;
}

@media screen and (max-width: 767px) {
  main .article__item--number {
    top: 2.1333333333vw;
    left: 4.4vw;
    padding-bottom: 0;
    font-size: 6vw;
  }
}
main .article__item--tag {
  display: flex;
  position: absolute;
  top: 56px;
  left: 85px;
}

@media screen and (max-width: 767px) {
  main .article__item--tag {
    top: 6.2666666667vw;
    left: 12.5333333333vw;
  }
}
main .article__item--tag > li {
  border-bottom: 1px solid #004288;
  font-size: 14px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  main .article__item--tag > li {
    font-size: 3.2vw;
  }
}
main .article__item--tag > li.long {
  width: 110px;
}

@media screen and (max-width: 767px) {
  main .article__item--tag > li.long {
    width: 18.4vw;
  }
}
main .article__item--tag > li.short {
  width: 88px;
}

@media screen and (max-width: 767px) {
  main .article__item--tag > li.short {
    width: 12.9333333333vw;
  }
}
main .article__item--tag > li + li {
  margin-left: 13px;
}

@media screen and (max-width: 767px) {
  main .article__item--tag > li + li {
    margin-left: 1.8666666667vw;
  }
}
main .article__item--title {
  position: absolute;
  top: 90px;
  left: 30px;
  font-family: "Zen Old Mincho", serif;
  font-size: 26px;
  line-height: 1.4230769231;
}

@media screen and (max-width: 767px) {
  main .follow {
    display: block;
    width: auto;
    left: 0px;
    bottom: 0px !important;
  }
}
main .follow .follow__pc {
  display: block;
}
@media screen and (max-width: 767px) {
  main .follow .follow__pc {
    display: none;
  }
}
main .follow .follow__sp {
  display: none;
  background: #ffffff;
}
@media screen and (max-width: 767px) {
  main .follow .follow__sp {
    display: flex;
    align-items: stretch;
  }
}
main .follow .follow__sp p a {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  height: 100%;
  padding: 1.3vw 0;
}
main .follow .follow__sp p a .follow__icon {
  font-size: 0;
  line-height: 0;
}
main .follow .follow__sp p a .follow__icon img {
  width: 100%;
}
main .follow .follow__sp p a .follow__text {
  font-size: 3.7333333333vw;
  line-height: 1.3;
  font-weight: 600;
}
main .follow .follow__sp p a .follow__text .follow__sub {
  display: block;
  font-size: 2.6666666667vw;
  font-weight: bold;
}
main .follow .follow__sp p.follow__tel {
  width: 61%;
  background-color: #1CDBF5;
}
main .follow .follow__sp p.follow__tel .follow__icon {
  width: 6.75vw;
  margin: 0 3.2vw;
}
main .follow .follow__sp p.follow__tel .follow__text {
  color: #154994;
}
main .follow .follow__sp p.follow__form {
  width: 39%;
  background-color: #0079BE;
}
main .follow .follow__sp p.follow__form .follow__icon {
  width: 8.8vw;
  margin: 0 1.1vw 0 2.4vw;
}
main .follow .follow__sp p.follow__form .follow__text {
  color: #ffffff;
}
main .follow .follow__sp p.follow__form .follow__text img {
  width: 3.75vw;
  margin-left: 1.5vw;
  vertical-align: middle;
}

@media screen and (max-width: 767px) {
  #footer #pagetopBlock {
    bottom: 13vh !important;
  }
}

@media screen and (max-width: 767px) {
  main .article__item--title {
    top: 34.9264705882%;
    left: 7.5%;
    font-size: 3.7333333333vw;
    line-height: 1.4285714286;
  }
}
main .article__item--copy {
  position: absolute;
  font-family: "Zen Old Mincho", serif;
  font-size: 18px;
  line-height: 1.4444444444;
}

@media screen and (max-width: 767px) {
  main .article__item--copy {
    font-size: 2.8vw;
    line-height: 1.3333333333;
  }
}
main .article__item--sub {
  position: absolute;
  bottom: 40px;
  left: 30px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.3571428571;
}

@media screen and (max-width: 767px) {
  main .article__item--sub {
    bottom: 18.3823529412%;
    left: 7.5%;
    font-size: 3.2vw;
  }
}
main .article__item--sub.sub--small {
  font-size: 14px;
}

@media screen and (max-width: 767px) {
  main .article__item--sub.sub--small {
    font-size: 2.2666666667vw;
    transform: scale(0.8, 1);
    transform-origin: center left;
  }
}
.info__item--ecology {
  display: none;
}