@media screen and (max-width: 767px) {
  .hero img {
    aspect-ratio: 1120/422;
  }
}

.lp .gnav {
  margin-block: 40px;
}
@media screen and (max-width: 767px) {
  .lp .gnav {
    margin-block: 20px;
  }
}
.lp .gnav .ps-gnav-sub {
  max-width: 800px;
}
.lp .gnav .ps-gnav-sub li {
  width: calc(33.3333% - 12px);
}
@media screen and (max-width: 767px) {
  .lp .gnav .ps-gnav-sub li {
    width: calc(33.3333% - 6px);
  }
}
@media screen and (max-width: 767px) {
  .lp .gnav .ps-gnav-sub li a {
    padding-bottom: 8px;
    height: 52px;
  }
}
@media screen and (max-width: 767px) {
  .lp .gnav .ps-gnav-sub li a::before {
    transform: rorate(90deg);
    right: calc(50% - 6px);
    top: auto;
    bottom: 6px;
    width: 12px;
    height: 12px;
  }
}
.lp .ps-net-charm-h-row {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0;
}
.lp .ps-net-charm-h-row .img {
  margin-right: 10px;
}
@media screen and (max-width: 767px) {
  .lp .ps-net-charm-h-row .img {
    height: 36px;
    margin-right: 2px;
  }
  .lp .ps-net-charm-h-row .img img {
    height: 100%;
    width: auto;
    vertical-align: bottom;
  }
}
.lp .ps-net-charm-h-row > .txt {
  font-size: 32px;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .lp .ps-net-charm-h-row > .txt {
    font-size: calc(28px + (32 - 28) * (100vw - 768px) / (1024 - 768));
  }
}
@media screen and (max-width: 767px) {
  .lp .ps-net-charm-h-row > .txt {
    font-size: 20px;
  }
}
.lp .ps-net-charm-h-row .fs-sm {
  font-size: 75%;
}
@media screen and (max-width: 767px) {
  .lp .net-price-900 .img-price-900 {
    width: 88%;
  }
}
@media screen and (max-width: 767px) {
  .lp .price-simu-tb[data-type=net] .td-price {
    font-size: 18px;
  }
}
@media screen and (max-width: 767px) {
  .lp .price-simu-tb[data-type=net] .td-price .fs-lg {
    font-size: 28px;
  }
}
@media screen and (max-width: 767px) {
  .lp .price-kojihi {
    padding: 0 10px 16px;
  }
}
.lp .price-kojihi .fs-lg {
  position: relative;
  top: 2px;
  font-size: 32px;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .lp .price-kojihi .fs-lg {
    font-size: 28px;
  }
}
.lp .price-kojihi .fs-xs {
  font-size: 14px;
}
@media screen and (max-width: 767px) {
  .lp .price-kojihi .fs-xs {
    font-size: 12px;
  }
}
.lp .price-kojihi .icn-add {
  margin-bottom: 4px;
}
.lp .section-cv[data-type=ps-main] {
  padding-block: 24px !important;
}
@media screen and (max-width: 767px) {
  .lp .section-cv[data-type=ps-main] {
    padding-block: 12px 16px !important;
  }
}
.lp .section-cv[data-type=ps-main] .cv-row {
  width: 100%;
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .lp .section-cv[data-type=ps-main] .cv-row {
    flex-wrap: wrap;
  }
}
.lp .section-cv[data-type=ps-main] .cv-col {
  width: calc(50% - 10px);
}
@media screen and (max-width: 767px) {
  .lp .section-cv[data-type=ps-main] .cv-col {
    width: 100%;
  }
}
.lp .section-cv[data-type=ps-main] .cv-col p {
  width: 100%;
}
.lp .section-cv[data-type=ps-main] .cv-col.col-center {
  margin-inline: auto;
}
.lp .section-cv[data-type=ps-main] .btn-member.icn-member {
  background: #F5D200 url(/common_v10/images/icn-member.svg) no-repeat 20px center/32px auto;
}
@media screen and (max-width: 767px) {
  .lp .section-cv[data-type=ps-main] .btn-member.icn-member {
    border-radius: 128px;
    background-size: 28px auto;
  }
  .lp .section-cv[data-type=ps-main] .btn-member.icn-member::after {
    width: 16px;
    right: 16px;
  }
}
.lp .netplan-select.not-slider li {
  cursor: auto;
}
.lp .netplan-select.not-slider li.is-center {
  width: calc(40% - 10px);
  margin-inline: auto;
}
.lp .netplan {
  margin-top: 60px;
}
@media screen and (max-width: 767px) {
  .lp .netplan {
    margin-top: 32px;
  }
}
.lp .netplan h3 {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 30px;
  margin: 0 0 24px;
}
@media screen and (max-width: 767px) {
  .lp .netplan h3 {
    font-size: 24px;
  }
}
.lp .netplan h3::before, .lp .netplan h3::after {
  content: "";
  flex-grow: 0;
  height: 3px;
  background: #32a2f6;
  display: inline-block;
  width: 48px;
}
.lp .netplan h3:before {
  margin-right: 20px;
}
.lp .netplan h3:after {
  margin-left: 20px;
}
.lp .netplan .js-netplan-slider[id=simu-net-sdu] {
  margin-bottom: 60px;
}
@media screen and (max-width: 767px) {
  .lp .netplan .js-netplan-slider[id=simu-net-sdu] {
    margin-bottom: 48px;
  }
}
.lp .flow-tit::after {
  background-image: url(../images/flow_tit_ballon_wht.png);
}
.lp .flow-tab .flow-tab-inner .flow-step-body > .inner {
  max-width: 580px;
}
.lp table.area th, .lp table.area td {
  border: 1px solid #aaa;
}
@media screen and (max-width: 767px) {
  .lp table.area th, .lp table.area td {
    border-top: none;
  }
}