@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&family=Zen+Antique+Soft&family=Lato:wght@700&family=Poppins:wght@400;500;600;700&family=Montserrat:wght@400;500;600;700;900&display=swap');
/* plan-simulation用CSS */
.bootstrap p,
.bootstrap ol,
.bootstrap ul,
.bootstrap dl{
  margin: 0;
}
.bootstrap label{
  margin: 0;
  cursor: pointer;
}

.content-block {
  margin: 0;
}

.font--lato {
  font-family: 'Lato', 'Noto Sans JP', Helvetica, Neue Haas Grotesk, Arial;
}

.mgt0{
  margin-top: 0!important;
}
.mgb20{
  margin-bottom: 20px!important;
}

.field__item {
  color: #2b2b2b;
}

.primary-heading {
  font-size: 32px!important;
  font-weight: bold!important;
}
.bootstrap .simple-heading,
.simple-heading{
  margin: 0!important;
  font-size: 34px!important;
  font-weight: bold;
  text-align: center;
}

.bootstrap .tertiary-heading,
.tertiary-heading{
  position: relative;
  margin: 96px 0 0;
  padding-bottom: 20px;
  font-size: 32px;
  font-weight: bold;
  text-align: center;
  line-height: 1.8;
}
.tertiary-heading::after{
  content: "";
  position: absolute;
  left: calc(50% - 20px);
  bottom: 0;
  display: inline-block;
  width: 40px;
  height: 4px;
  background: #bc2739;
}

main .text-underline:not(.text-color--red) {
  color: #272727;
  text-decoration: underline;
}
main .text-underline:hover,
main .text-underline:focus {
  color: #bc2739!important;
  text-decoration: none!important;
}

.blank-link::before {
  content: ""!important;
  display: inline-block!important;
}

.text,
.bootstrap p.text{
  margin: 22px 0 36px;
}

.bootstrap .breadcrumb{
  padding: 0.75rem 0;
  background: transparent;
}
@media (max-width: 768px) {
  .primary-heading {
    font-size: 24px!important;
  }
  .bootstrap .simple-heading,
  .simple-heading{
    margin: 32px 0 24px!important;
    font-size: 24px!important;
  }
  .bootstrap .tertiary-heading,
  .tertiary-heading{
    margin-top: 64px;
    padding-bottom: 20px;
    font-size: 24px!important;
  }

  .bootstrap .breadcrumb{
    display: none;
  }
}

.note-list + .note-list {
  margin-top: 1em!important;
}
.note-list__item {
  margin-left: 1.2em;
  text-indent: -1.2em;
}
.note-list__item a{
  color: #272727;
}
.note-list__item a:hover{
  color: #c03;
}
.note-list__item--indent2{
  margin-left: 1.7em;
  text-indent: -1.7em;
}
.note-list__item--indent2 a {
  text-indent: 0;
}
.note-list__item .blank-link--red,
.note-txt .blank-link--red{
  padding-right: 12px;
}
.note-txt a{
  color: #272727 !important;
}
.text-underline {
   text-decoration: underline !important;
}
.text-color--red {
  color: #bc2739 !important;
}
/* ---------------------------------------
	イントロ
--------------------------------------- */
.intro {
  height: 229px;
  margin: 1.5rem 0 0!important;
  background: url(/sites/default/files/media/service/mobile/charge/image/intro_bg-pc.webp);
}
.intro .content-inner {
  display: flex;
  align-items: center;
  flex-direction: column;
  padding: 34px;
}
.intro__label {
  display: inline-block;
  padding: 10px 40px;
  background: #727272;
  color: #fff;
  font-size: 26px;
  font-weight: 700;
  line-height: 1;
}
.intro__title {
  margin: 1px 0 0!important;
  font-size: 43px;
  font-weight: 700;
}
.intro__text {
  margin: 8px 0 0!important;
  font-size: 22px;
  font-weight: 500;
}

@media (max-width: 768px) {
  .intro {
    height: 296px;
    background: url(/sites/default/files/media/service/mobile/charge/image/intro_bg-sp.webp);
  }
  .intro .content-inner {
    padding: 34px 24px!important;
  }
  .intro__label {
    padding: 9px 30px;
  }
  .intro__title {
    margin-top: 18px!important;
    font-size: 34px;
    text-align: center;
  }
  .intro__text {
    margin-top: 15px!important;
    font-size: 18px;
    text-align: center;
  }
}



/* ---------------------------------------
	5G対応プラン
--------------------------------------- */
.charge-5g {
  padding: 30px 0 0;
}
.charge-table {
  margin: 50px 0 0;
  padding: 14px 0 0;
}
.charge-table__main {
  width: 100%;
  table-layout: fixed;
}
.charge-table .is-noborder {
  border: none!important;
}
.charge-table th:not(.is-noborder),
.charge-table td:not(.is-noborder){
  border: 1px solid #C0C0C0;
  vertical-align: middle;
}
.charge-table th:first-of-type {
  width: 164px;
}
.charge-table thead th {
  height: 117px;
  padding: 0;
  border: 1px solid #C0C0C0;
  background: transparent;
  text-align: center;
}
.charge-table thead th:not(.is-noborder) {
  border: 1px solid #C0C0C0;
}
.charge-table__type {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
}
.charge-table__label {
  position: absolute;
  top: -14px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 131px;
  height: 28px;
  border-radius: 100vh;
  background: #C6A23F;
  color: #fff;
  font-size: 15px;
  font-weight: 700;
}
.charge-table__logo--call img {
  width: 252px;
}
.charge-table__logo--data img {
  width: 212px;
}
.charge-table__logo--mini img {
  width: 161px;
}
.charge-table__logo--max img {
  width: 187px;
}
.charge-table__text {
  color: #232323;
  font-size: 16px;
  line-height: 1.4;
}

.charge-table tbody th,
.charge-table tbody td {
  padding: 26px 10px;
}
.charge-table tbody th {
  background: #4F4F4F;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
}
.charge-table tbody th.fs--sml {
  font-size: 14px;
}
.charge-table tbody th sup {
  font-size: 10px;
}
.charge-table tbody td {
  vertical-align: middle;
  text-align: center;
}
.is-discount td {
  background: #FFFCEB;
}

.charge-table__value {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  font-family: 'Lato', 'Noto Sans JP', Helvetica, Neue Haas Grotesk, Arial;
  font-weight: 700;
}
.charge-table__fee {
  font-size: 14px;
  font-weight: 500;
}

.charge-table__price {
  display: flex;
  align-items: center;
  gap: 15px;
  justify-content: center;
}
.charge-table__price:not(:first-of-type) {
  margin-top: 22px;
}
.charge-table__price * {
  font-family: 'Lato', 'Noto Sans JP', Helvetica, Neue Haas Grotesk, Arial;
}
.charge-table__data {
  width: 76px;
  padding: 13px 0;
  border-radius: 3px;
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  text-align: center;
}
.charge-table__data sup {
  font-size: 8px;
}
.charge-table__price--bl .charge-table__data {
  background: #D8EBFF;
  color: #335578;
}
.charge-table__price--gr .charge-table__data {
  background: #ECECEC;
  color: #4F4F4F;
}
.charge-table__price--rd .charge-table__data {
  background: #FFEDF1;
  color: #CC0033;
}

.charge-table__detail .charge-table__value {
  font-size: 28px;
  font-weight: 700;
  line-height: 1;
}
.charge-table__unit {
  font-size: 16px;
}
.charge-table__detail .charge-table__fee {
  margin: 3px 0 0;
  line-height: 1;
}
.charge-table__duration {
  margin-right: 14px;
  color: #202020;
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
}

.layout-main-wrapper .charge-table tbody td .oval-link {
  width: 100%;
}
@media (max-width: 768px) {
  .charge-table__main {
    min-width: 1092px;
  }
  .charge-table th:first-of-type {
    width: 149px;
  }

  .charge-table__text {
    font-size: 14px;
  }

  .charge-table tbody th {
    font-size: 14px;
  }
  .charge-table tbody th sup {
    font-size: 8px;
  }

  .charge-table__detail .charge-table__value {
    font-size: 24px;
  }
  .charge-table__unit {
    font-size: 14px;
  }
  .charge-table__detail .charge-table__fee {
    font-size: 12px;
  }

}


/* ---------------------------------------
	CTAエリア
--------------------------------------- */
.charge-cta {
  padding: 30px 0 0;
}
.charge-cta .background--gray {
  margin: 64px 0 0;
  padding: 48px 0;
}

/* 左右スラッシュテキスト */
.text-slash{
  position: relative;
  text-align: center;
}
.text-slash__item{
  position: relative;
  display: inline-block;
  padding: 0 14px;
  font-size: 22px;
  font-weight: bold;
  line-height: 1.3;
}
.text-slash__item::before,
.text-slash__item::after{
  position: absolute;
  top: calc(50% + 6px);
  content: "";
  display: inline-block;
  width: 2px;
  height: 26px;
  background: #272727;
}
.text-slash__item::before{
  left: 0;
  transform: translateY(-50%) rotate(-28deg);
}
.text-slash__item::after{
  right: 0;
  transform: translateY(-50%) rotate(28deg);
}
.text-slash + .tertiary-heading {
  margin-top: 10px;
}

/* ボタン横並び */
.btn-area{
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 30px;
}
.btn-area .oval-link{
  width: 360px;
  max-width: 100%;
  padding: 12px 40px;
}
.btn-area .text-slash{
  margin: 0 0 15px;
}
.btn-area .text-slash__item{
  padding: 0 12px;
}
.btn-area .text-slash__item::before{
  transform: translateY(-50%) rotate(-30deg);
}
.btn-area .text-slash__item::after{
  transform: translateY(-50%) rotate(30deg);
}
.btn-area .text-slash__item::before,
.btn-area .text-slash__item::after{
  height: 26px;
}

.btn-area--plan .oval-link {
  width: 410px;
  font-size: 18px;
}
.btn-area--plan .text-slash {
  margin: 0 0 10px;
  font-size: 20px;
}

.btn-area--col2 .text-slash__item {
  font-size: 18px;
  color: #BC2739;
}
.btn-area--col2 .text-slash__item::before,
.btn-area--col2 .text-slash__item::after{
  background: #BC2739;
}

@media (max-width: 768px) {
  .charge-cta {
    padding-top: 23px;
  }
  .charge-cta .background--gray {
    margin-top: 46px;
    padding: 32px 0;
  }

  /* 左右スラッシュテキスト */
  .text-slash__item{
    font-size: 16px;
  }

  .btn-area{
    flex-direction: column;
    gap: 22px;
    margin: 0;
  }
  .btn-item{
    width: 100%;
  }
  .btn-area .text-slash__item {
    font-size: 18px;
  }
  .btn-area .oval-link{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    font-size: 17px;
  }
}



/* ---------------------------------------
	プランエリア
--------------------------------------- */
.charge-plan {
  padding: 64px 0 123px;
}
.charge-plan .content-inner {
  max-width: 1043px;
}
.charge-plan__item + .charge-plan__item {
  margin-top: 64px;
}

/* Xi（4G LTE）対応プラン */
.plan-box {
  margin: 35px 0 0;
  padding: 40px 53px;
  box-shadow: 1px 1px 10px 3px rgb(187 187 187 / 25%);
  border-radius: 10px;
}
.plan-box__heading {
  font-size: 30px!important;
  font-weight: 700!important;
  text-align: center;
}
.plan-box__text {
  margin: 16px 0 0!important;
  font-size: 20px;
  font-weight: 700;
  text-align: center;
}

.plan-box__monthly,
.plan-lower__monthly {
  display: flex;
  margin-top: 40px;
  border-radius: 8px;
  box-shadow: 2px 2px 10px rgba(0, 0, 0, .1);
}
.plan-box__monthly p,
.plan-lower__monthly p{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 189px;
  margin-bottom: 0;
  padding: 8px 24px;
  border-radius: 8px 0 0 8px;
  background: #272727;
  color: #fff;
  font-size: 18px;
  font-weight: 700;
}
.plan-box__monthly ul, 
.plan-lower__monthly ul{
  display: flex!important;
  justify-content: center;
  align-items: center;
  gap: 42px;
  width: 100%;
  padding: 22px 0!important;
}
.plan-box__monthly li,
.plan-lower__monthly li {
  position: relative;
  font-size: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  font-weight: 700;
}
.plan-box__monthly li + li::before,
.plan-lower__monthly li + li::before{
  content: "";
  background: url(/sites/default/files/media/service/mobile/charge/image/plan_ic_plus.webp);
  background-repeat: no-repeat;
  background-size: contain;
  display: block!important;
  width: 16px;
  height: 16px;
  position: absolute;
  top: 50%;
  left: -36px;
  transform: translateY(-50%);
}
.plan-box__monthly li:first-child:before,
.plan-lower__monthly li:first-child:before {
  display: none;
}
.plan-box__monthly li img,
.plan-lower__monthly li img{
  width: 32px;
}
.plan-lower__monthly p {
  max-width: 200px;
}
.plan-lower__monthly ul {
  gap: 56px;
  padding: 24px 0!important;
}

.plan-box__title,
.plan-lower__title {
  display: flex;
  align-items: center;
  font-weight: 700!important;
}
.plan-box__title {
  gap: 5px;
  margin-top: 32px!important;
  font-size: 22px!important;
}
.plan-box__title img {
  width: 33px;
}

.plan-lower__title {
  position: initial;
  gap: 8px;
  margin-top: 64px!important;
  padding-left: 0!important;
  font-size: 24px!important;
}
.plan-lower__title img {
  width: 40px;
}

.plan-box__item {
  display: flex;
  margin: 30px 0 0;
}
.plan-box__item + .plan-box__item {
  margin-top: 82px;
  padding-top: 22px;
  border-top: 1px solid #ECECEC;
}
.plan-box__item + .plan-box__item .plan-box__detail,
.discount__value {
  position: relative;
}
.plan-box__item + .plan-box__item .plan-box__detail::before,
.discount__value::before {
  position: absolute;
  transform: translateX(-50%);
  content: "";
  border-top: 22px solid #D9D9D9;
  border-right: 16px solid transparent;
  border-left: 16px solid transparent;
}
.plan-box__item + .plan-box__item .plan-box__detail::before {
  top: -72px;
  right: calc(50% - 32px);
}
.discount__value::before {
  top: -49px;
  right: calc(50% - 36px);
}

.plan-box__type {
  display: flex;
  align-items: center;
  width: 225px;
  padding: 0 0 0 44px;
  font-size: 18px;
  font-weight: 700;
}
.plan-box__detail{
  width: calc(100% - 225px);
}
.plan-box__item--01 {
  align-items: stretch;
}
.plan-box__item--01 .plan-box__type {
  padding-top: 80px;
}
.plan-box__data {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 60px;
  background: #272727;
  color: #fff;
  font-size: 24px;
  font-weight: 700;
  text-align: center;
}
.plan-box__value {
  margin: 20px 0 0!important;
  font-size: 32px;
  font-weight: 700;
  text-align: center;
}
.plan-box__unit,
.plan-box__fee {
  font-size: 20px;
  text-align: center;
}
.plan-box__fee {
  margin: 2px 0 0!important;
}

.benefit-text {
  text-align: center;
}
.benefit-text p {
  position: relative;
  display: inline-block;
  padding-left: 40px;
  font-size: 20px;
  font-weight: 700;
}
.benefit-text p::before{
  content: "";
  background: url(/sites/default/files/media/service/mobile/charge/image/plan_ic_light.webp);
  background-repeat: no-repeat;
  background-size: contain;
  width: 40px;
  height: 40px;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
.benefit-text p span {
  color: #CC0033;
}

.discount__detail {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 690px;
  margin: 24px auto 0;
  padding: 18px 32px;
  border-radius: 10px;
  box-shadow: 0 0 10px 2px rgb(157 157 157 / 25%);
}
.discount__title {
  font-size: 18px;
  font-weight: 700;
}
.discount__price {
  font-size: 18px;
}
.discount__cost {
  font-size: 22px;
  font-weight: 700;
}
.discount__value {
  width: 218px;
  margin: 77px auto 0;
  padding: 4px 10px 14px;
  border: 3px solid #FFEC40;
  border-radius: 5px;
  background: #FFFEF2;
  color: #CC0033;
  font-size: 32px;
  font-weight: 700;
  text-align: center;
}
.discount__unit,
.discount__fee {
  color: #2b2b2b;
  font-size: 20px;
}

.plan-box .btn-area {
  margin-top: 40px;
}
.plan-box .btn-area .oval-link {
  width: 240px;
}

/* データ量をシェアできるペアプラン */
.text-marker {
  position: relative;
  display: inline-block;
}
.text-marker::after {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  content: "";
  display: inline-block;
  width: calc(100% + 10px);
  height: 8px;
  background: #FFE4EB;
}
.text-marker span {
  z-index: 1;
}

.lead-text {
  margin: 26px 0 0!important;
  font-size: 18px;
  text-align: center;
}

.target-plan__target {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 21px;
  margin: 26px 0 0;
}
.target-plan__label {
  width: 168px;
  background: #D9D9D9;
  padding: 5px;
  font-size: 18px;
  font-weight: 500;
  text-align: center;
}
.target-plan__logos {
  display: flex;
  align-items: center;
  gap: 27px;
}
.logo--data {
  width: 262px;
}
.logo--max {
  width: 124px;
}

.target-plan__body {
  width: 537px;
  margin: 51px auto 0;
  padding: 32px 40px 34px;
  box-shadow: 2px 3px 15px rgb(129 129 129 / 25%);
  border-radius: 10px;
  text-align: center;
}
.target-plan__title {
  font-size: 28px!important;
  font-weight: 700!important;
}
.target-plan__value {
  width: 195px;
  margin: 10px auto 0!important;
}

.target-plan__note {
  margin: 21px 0 0!important;
  text-align: left;
}
.target-plan__note li {
  position: relative;
  padding-left: 24px!important;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.6;
}
.target-plan__note li + li {
  margin-top: 3px!important;
}
.target-plan__note li::before {
  position: absolute;
  top: 7px;
  left: 2px;
  content: "";
  display: inline-block!important;
  width: 14px;
  height: 10px;
  background: url(/sites/default/files/media/service/mobile/charge/image/icon_check.webp) no-repeat center / contain;
}
.target-plan__note li span {
  color: #CC0033;
}

.target-plan__body .btn-area {
  gap: 20px;
  margin-top: 29px;
}
.target-plan__body .btn-area .btn-item {
  width: calc(50% - 10px);
}
.target-plan__body .btn-area .oval-link {
  padding: 12px 32px 12px 14px;
  font-size: 15px;
}
.target-plan__body .btn-area .oval-link::after {
  right: 16px;
}
@media (max-width: 768px) {
  .charge-plan {
    padding: 28px 0 71px;
  }

  /* Xi（4G LTE）対応プラン */
  .plan-box {
    margin-top: 28px;
    padding: 28px 20px 30px;
  }
  .plan-box__heading {
    font-size: 22px;
  }
  .plan-box__text {
    font-size: 16px;
  }

  .plan-box__title {
    font-size: 20px;
  }
  .plan-box__title img {
    margin: 0;
  }
  .plan-lower__title {
    margin-top: 42px !important;
    font-size: 16px !important;
  }
  .plan-lower__title img {
    width: 30px;
  }

  .plan-box__item {
    position: relative;
    display: block;
    margin-top: 22px;
  }
  .plan-box__item + .plan-box__item {
    margin-top: 48px;
  }
  .plan-box__item + .plan-box__item::before {
    position: absolute;
    top: -34px;
    right: calc(50% - 32px);
    transform: translateX(-50%);
    content: "";
    border-top: 22px solid #D9D9D9;
    border-right: 16px solid transparent;
    border-left: 16px solid transparent;
  }
  .plan-box__item + .plan-box__item .plan-box__detail::before {
    display: none;
  }
  .discount__value::before {
    top: -38px;
    right: auto;
    left: 50%;
  }

  .plan-box__type {
    width: 100%;
    padding: 0!important;
  }
  .plan-box__detail{
    width: 100%;
    margin-top: 18px;
  }
  .plan-box__item--02 .plan-box__detail {
    margin-top: 12px;
  }
  .plan-box__data {
    height: 40px;
    font-size: 18px;
  }
  .plan-box__value {
    margin-top: 12px!important;
  }

  .benefit-text p {
    padding-left: 33px;
    font-size: 16px;
  }
  .benefit-text p::before {
    width: 33px;
    height: 33px;
  }
  .discount__detail {
    display: block;
    width: 100%;
    padding: 10px;
    text-align: center;
  }
  .discount__price {
    margin-top: 5px!important;
  }
  .discount__value {
    margin-top: 64px;
  }

  .plan-box .btn-area {
    margin-top: 30px;
  }
  .plan-box .btn-area .oval-link {
    margin: 0 auto;
  }

  /* データ量をシェアできるペアプラン */
  .lead-text {
    margin-top: 16px!important;
    font-size: 16px;
    text-align: left;
  }
  .target-plan__target {
    display: block;
  }
  .target-plan__label {
    width: 147px;
    margin: 0 auto!important;
    font-size: 14px;
  }
  .target-plan__logos {
    margin-top: 20px;
  }
  .logo--data {
    width: 60%;
  }
  .logo--max {
    width: 29%;
  }

  .target-plan__body {
    width: 100%;
    margin-top: 42px;
    padding: 27px 24px 31px;
  }

  .target-plan__title {
    font-size: 24px;
  }
  .target-plan__note {
    margin-top: 24px!important;
  }
  .target-plan__note li + li {
    margin-top: 8px!important;
  }

  .target-plan__body .btn-area {
    gap: 14px;
    margin-top: 26px;
  }
  .target-plan__body .btn-area .oval-link {
    padding: 12px 32px;
  }
  .target-plan__body .btn-area .btn-item {
    width: 100%;
  }

  .plan-box__monthly,
  .plan-lower__monthly {
    margin-top: 22px;
    flex-direction: column;
  }
  .plan-box__monthly p,
  .plan-lower__monthly p {
    max-width: 100%;
    padding: 13px 10px;
    border-radius: 8px 8px 0 0;
    font-size: 18px;
  }
  .plan-box__monthly ul,
  .plan-lower__monthly ul {
    gap: 30px;
    flex-direction: column;
    padding: 15px 0!important;
  }
  .plan-box__monthly li {
    font-size: 18px;
  }
  .plan-box__monthly li + li::before,
  .plan-lower__monthly li + li::before {
    width: 12px;
    height: 12px;
    top: -16px;
    left: auto;
    right: auto;
  }
  .plan-box__monthly li img {
    width: 34px;
  }

  .plan-lower__monthly p {
    padding: 8px 10px;
  }
  .plan-lower__monthly ul {
    gap: 40px;
    padding: 22px 0 !important;
  }
  .plan-lower__monthly li {
    font-size: 16px;
  }
  .plan-lower__monthly li + li::before {
    top: -20px;
  }
  .plan-lower__monthly li img {
    width: 24px;
  }


  .benefit-text{
    font-size: 16px;
  }


}



/* ---------------------------------------
	おすすめオプションサービス
--------------------------------------- */
.charge-option {
  padding: 65px 0 0;
}
.option-list{
  display: flex;
  justify-content: center!important;
  gap: 20px;
  margin-top: 49px!important;
}
.option-item{
  width: 286px!important;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, .1);
  border-radius: 10px;
  background: #fff;
  overflow: hidden;
}
.option-item a{
  display: block;
  text-decoration: none;
}
.option-item a:hover{
  color: #272727;
}
.option-item:nth-child(n+2){
  margin: 0;
  padding: 0;
  border: none;
}
.option-image {
  width: 100%;
}
.option-detail{
  width: 100%;
  padding: 10px 24px 20px;
  text-align: left;
}
.option-tag{
  display: inline-block;
  padding: 6px 10px;
  background: #FFF2F4;
  color: #BC2739;
  font-size: 12px;
  font-weight: bold;
  line-height: 1;
}
.option-title{
  margin: 5px 0 0!important;
  font-size: 22px!important;
  font-weight: bold!important;
  line-height: 1.45!important;
}
.option-text{
  margin: 8px 0 0!important;
  font-size: 14px!important;
  line-height: 1.42;
}
.option-note{
  margin: 9px 0 0 1em!important;
  color: #272727;
  font-size: 12px!important;
  text-indent: 0;
}
.option-detail .oval-link {
  width: 100%;
  margin: 12px 0 0;
  padding: 7px 40px;
  font-size: 16px;
}
.option-list + .btn-area {
  margin-top: 52px;
}
.btn-area + .simple-heading {
  margin: 62px 0 0!important;
}
.simple-heading + .btn-area {
  margin-top: 24px;
}
.charge-option + .charge-cta {
  padding-top: 49px;
}

@media (max-width: 768px) {
  .charge-option {
    padding: 33px 0 0!important;
  }
  .charge-option + .charge-cta {
    padding: 48px 24px 0;
  }
  .option-list{
    display: block;
    margin-top: 32px!important;
  }
  .option-item{
    width: 289px!important;
    margin: 0 auto!important;
  }
  .option-item:nth-child(n+2){
    margin-top: 27px!important;
  }
  .btn-area + .simple-heading {
    margin-top: 58px!important;
  }

  .charge-option .btn-area {
    display: block;
    margin-top: 41px;
  }
  .charge-option .btn-area .oval-link {
    width: 337px;
    margin: 0 auto;
  }

}



/* ---------------------------------------
	割引条件
--------------------------------------- */
.charge-discount {
  padding: 64px 0;
}

.discount-detail{
  display: block;
}
ul.discount-list{
  display: grid!important;
  grid-template-columns: repeat(3,1fr);
  gap: 20px;
  margin: 48px auto 0!important;
  max-width: 1016px;
}
ul li.discount-item:nth-child(n + 2), .discount-item:nth-child(n + 2) {
  margin-top: 0!important;
  padding: 32px!important;
}

/* 中央寄せしたい場合 */
ul.discount-list--center {
  display: flex !important;
  justify-content: center;
  gap: 20px;
}
ul.discount-list--center > li {
  width: calc((100% - 40px) / 3)!important;
}

.discount-text{
  text-align: center;
  font-size: 17px!important;
}
.discount-link{
  margin: auto!important;
}
.discount-link .oval-link--blank--black::after {
  width: 8px;
  height: 8px;
  background: url(/sites/default/files/media/service/image/icon_window-bk.webp) no-repeat center / 100%;
}
.discount-links{
  gap: 10px;
}
h4.discount-title{
  font-size: 24px;
  font-weight: bold;
  text-align: center;
}
span.discount-label-plan {
  background: #e5e5e5;
  padding: 10px 40px;
  text-align: center;
  font-weight: 700;
  font-size: 18px;
  line-height: 1.3;
  min-width: fit-content;
  max-height: 46px;
  max-width: 440px;
  display: block;
  margin: 20px 0;
}
p.discount-plan {
  margin-top: 15px;
  font-size: 20px;
}
li.discount-item {
  width: 100%!important;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, .1);
  border-radius: 10px;
  overflow: hidden;
  padding: 32px!important;
  background: #fff;
  text-align: center;
}
.discount-line-text{
  background: linear-gradient(transparent 70%, #F5DEE1 70%, #F5DEE1 90%, transparent 90%);
}
.discount-price {
  font-weight: bold;
  font-size: 24px;
}
span.discount-price-fee {
  font-size: 14px;
  font-weight: 100;
}
.plan-logo-biz {
    max-width: 65%;
    margin-top: 10px;
}
.plan-logo {
    max-width: 37%;
    margin-top: 10px;
}
a.oval-link.oval-link--border.oval-link--blank--black.button-top1,
a.oval-link.oval-link--border.oval-link--blank--black.button-top2 {
    margin-top: 57px;
}
.discount-inner {
    margin-bottom: 50px;
}
.discount-item + .discount-item{
  border-left: none!important;
}

.discount-option {
  width: 926px;
  margin: 74px auto 0;
}
.discount-option__title {
  position: relative;
  padding-left: 20px;
  font-size: 24px;
  font-weight: 700;
}
.discount-option__title::before {
  position: absolute;
  top: 4px;
  left: 0;
  content: "";
  display: inline-block;
  width: 4px;
  height: 31px;
  background: #CC0033;
}
.discount-option__text {
  margin: 36px 0 0!important;
  font-size: 18px;
}
.discount-option__table {
  width: 100%;
  margin: 32px 0 0;
  background: #fff;
}
.discount-option__table th,
.discount-option__table td {
  background: #fff;
  padding: 22px 26px;
  border: 1px solid #E9E9E9!important;
  color: #2B2B2B;
  vertical-align: middle;
}
.discount-option__table th {
  height: auto;
  font-weight: 700;
  font-size: 16px;
  text-align: center;
}
.discount-option__table th:first-of-type {
  width: 360px;
}
.discount-option__table tbody th {
  text-align: left;
  font-weight: 400;
}
.discount-option__logo {
  display: flex;
  align-items: center;
}
.discount-option__logo .logo--data {
  width: 182px;
  margin-right: 10px;
}
.discount-option__logo .logo--max {
  width: 92px;
  margin-right: 10px;
}
.discount-option__logo .logo--mini {
  width: 82px;
  margin-right: 10px;
}
.discount-option__logo .logo--phone {
  width: 118px;
}

.discount-option__table + .note-list {
  margin-top: 40px;
}

@media (max-width: 768px) {
  .charge-discount {
    padding: 59px 24px!important;
  }

  .discount-detail{
    margin-top: 8px;
  }
  li.discount-item{
    padding: 26px 32px 34px!important;
  }

  ul.discount-list{
    display: block!important;
    width: 346px;
    max-width: 100%;
    margin: 24px auto 0!important;
  }
  ul li.discount-item:nth-child(n + 2),
  .discount-item:nth-child(n + 2) {
    margin-top: 20px!important;
  }

  /* 中央寄せしたい場合 */
  ul.discount-list--center > li {
    width: 100% !important;
  }

  .discount-text{
    font-size: 15px!important;
  }
  .discount-link{
    width: 164px;
  }
  h4.discount-title{
    font-size: 21px;
  }
  span.discount-label-plan {
    height: 36px;
    margin: 30px 0 10px;
    padding: 0;
    line-height: 36px;
  }
  .discount-price {
    font-size: 22px;
  }
  span.discount-price-fee {
    font-size: 10px;
  }
  a.oval-link.oval-link--border.oval-link--blank--black.button-top1,
  a.oval-link.oval-link--border.oval-link--blank--black.button-top2 {
    margin-top: 0;
  }
  .discount-inner {
    margin-bottom: 40px;
  }

  .discount-option {
    width: 100%;
  }
  .discount-option__title {
    font-size: 20px!important;
  }
  .discount-option__title::before {
    top: 0;
  }
  .discount-option__text {
    margin-top: 17px!important;
    font-size: 16px;
  }
  .discount-option__table {
    margin-top: 18px;
  }
  .discount-option__table th,
  .discount-option__table td {
    padding: 15px 20px;
    font-size: 11px;
  }
  .discount-option__table td.sp-pd--small {
    padding: 15px 12px;
  }
  .discount-option__table th:first-of-type {
    width: 28%;
  }
  .discount-option__logo {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }
  .discount-option__logo img:nth-child(1),
  .discount-option__logo img:nth-child(4) {
    grid-column: 1 / -1;
  }
  .discount-option__logo img {
    margin: 0;
  }
  .discount-option__logo .logo--data {
    width: 144px;
  }
  .discount-option__logo .logo--max {
    width: 72px;
  }
  .discount-option__logo .logo--mini {
    width: 70px;
  }
  .discount-option__logo .logo--phone {
    width: 94px;
  }

  .discount-option__table + .note-list {
    margin-top: 21px;
    font-size: 12px;
  }
  .discount-link .oval-link {
    width: 100%;
    padding: 12px 0;
    font-size: 12px;
  }
}



/* ---------------------------------------
	よくあるご質問
--------------------------------------- */
.charge-faq {
  margin: 0 0 120px;
  padding-top: 64px;
}
@media (max-width: 768px) {
  .charge-faq {
    margin-bottom: 82px;
  }
  .faq-list {
    margin-top: 32px!important;
  }
}



/* ---------------------------------------
	下層 5Gデータプラス
--------------------------------------- */
.charge-single {
  margin: 1.5rem 0 0!important;
  padding: 64px 0;
}
.charge-single__inner {
  padding: 64px;
  border-radius: 10px;
  background: #fff;
  text-align: center;
}
.charge-single__heading {
  display: inline-block;
  padding: 8px 25px;
  background: #272727;
  color: #fff!important;
  font-size: 32px;
  font-weight: 700;
  line-height: 1;
}
.charge-single__lead {
  margin: 10px 0 0!important;
  font-size: 32px;
  font-weight: 700;
}
.charge-single__lead span {
  color: #CC0033;
}

.lower-heading {
  margin: 48px 0 0!important;
  font-size: 24px!important;
  font-weight: 700!important;
  text-align: center;
}
.lower-heading--under-border {
  position: relative;
  margin: 48px 0 40px !important;
  padding: 0 0 23px;
}
.lower-heading--under-border::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  display: block;
  height: 3px;
  width: 60px;
  background-color: #D3D3D3;
}
.charge-single__lead + .lower-heading {
  margin-top: 24px;
}
.tertiary-heading + .lower-heading {
  margin-top: 35px;
}
.lower-text {
  margin: 10px 0 0!important;
  font-size: 18px;
  line-height: 1.3;
  text-align: center;
}
.lower-text--point {
  margin: 14px 0 0 1em!important;
  line-height: 1.5;
  text-indent: -1em;
}
.charge-single__image {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin: 7px 0 0!important;
}
.charge-single__image .logo--data {
  width: 276px;
}
.charge-single__image .logo--max {
  width: 167px;
}
.charge-single .note-list {
  margin: 16px 0 0;
  text-align: left;
}
.charge-single__price {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  margin: 16px 0 0;
}
.charge-single__amount {
  display: flex;
  align-items: center;
  gap: 16px;
}
.charge-single__label {
  width: 200px;
  height: 43px;
  background: #F1F1F1;
  line-height: 43px;
}

.charge-single__table {
  margin: 16px auto 0;
}
.charge-single__table th,
.charge-single__table td {
  padding: 5px;
  border: 1px solid #E5E5E5!important;
  font-size: 16px;
  vertical-align: middle;
}
.charge-single__table th {
  background: #F1F1F1;
  color: #272727;
}
.charge-single__table--data {
  width: 598px;
}
.charge-single__table--case {
  width: 678px;
}
.charge-single__table--case th,
.charge-single__table--case td {
  padding: 7px 5px;
}
.charge-single__table--case th {
  width: 200px;
}
.charge-single__table .total th {
  background: #707070;
  color: #fff;
}
.charge-single__table .total td {
  background: #FFFFE3;
}

.charge-single .faq-list {
  margin: 64px 0 0!important;
  border-top: 1px solid #e5e5e5;
  border-bottom: none;
  text-align: left;
}
.charge-single .faq-list li .faq-body {
  padding: 24px 22px;
}
.charge-single .faq-heading {
  border: none;
}
.charge-single .dot-list > li {
  position: relative;
  padding-left: 1.5em!important;
  font-size: 16px;
  line-height: 1.5;
}
.charge-single .dot-list > li::before {
  position: absolute;
  top: 0;
  left: 8px;
  content: "・";
  display: inline-block!important;
  font-size: 20px;
  line-height: 1.3;
}
.charge-single .note-txt {
  font-size: 12px;
}
@media (max-width: 768px) {
  .charge-single {
    margin-top: 24px!important;
    padding: 24px 24px 40px!important;
  }
  .charge-single__inner {
    padding: 40px 24px;
  }
  .charge-single__heading {
    padding: 5px 10px;
    font-size: 22px;
  }
  .charge-single__lead {
    font-size: 22px;
  }

  .lower-heading {
    margin-top: 40px!important;
    font-size: 18px!important;
  }
  .lower-heading--under-border {
    margin: 40px 0 20px !important;
    padding: 0 0 13px;
  }
  .lower-text {
    margin-top: 16px!important;
    font-size: 16px;
    line-height: 1.5;
    text-align: left;
  }
  .charge-single__image {
    gap: 12px;
  }
  .charge-single__image .logo--data {
    width: 60%;
  }
  .charge-single__image .logo--max {
    width: 36%;
  }
  .charge-single .note-list {
    margin-top: 16px!important;
  }
  .charge-single__price {
    flex-direction: column;
    gap: 16px;
  }
  .charge-single__amount {
    flex-direction: column;
    gap: 3px;
  }
  .charge-single__label {
    height: 40px;
    line-height: 40px;
  }

  .charge-single__table th,
  .charge-single__table td {
    font-size: 14px;
  }
  .charge-single__table--data,
  .charge-single__table--case {
    width: 100%;
  }
  .charge-single__table--case th,
  .charge-single__table--case td {
    text-align: left;
  }
  .charge-single__table--case th {
    width: 100px;
  }
  .charge-single__table .total td {
    text-align: center;
  }

  .charge-single .faq-list {
    margin-top: 40px!important;
  }
  .charge-single .faq-list li .faq-body {
    padding: 0!important;
  }
  .charge-single .faq-heading {
    padding: 21px 0!important;
  }
}

/* 選択できるオプション */
.charge-select {
  padding: 64px 0 0;
}
.charge-select .tertiary-heading {
  margin-top: 0;
}
.select-list {
  display: flex!important;
  flex-wrap: wrap;
  justify-content: center;
  gap: 36px;
  max-width: 1022px;
  margin: 24px auto 0!important;
}
.select-list.col_4 {
  gap: 24px;
  max-width: 1224px;
  margin: 24px auto 0!important;
}
.select-list__item:not(.select-list__item--features) {
  width: calc((100% - 72px) / 3);
  padding: 26px 22px 20px!important;
  border-radius: 10px;
  box-shadow: 2px 3px 15px rgb(117 117 117 / 25%);
  background: #fff;
}
.select-list.col_4 .select-list__item:not(.select-list__item--features) {
  width: calc((100% - 72px) / 4);
}
.select-list__item--features {
  width: 522px;
}
.select-list__heading {
  display: flex;
  align-items: center;
  gap: 15px;
}
.select-list__heading img {
  width: 73px;
}
.select-list__title {
  font-size: 21px;
  font-weight: 700;
}
.select-list__value {
  margin: 15px 0 0;
  font-size: 36px;
  font-weight: 700;
  line-height: 1;
  text-align: center;
}
.select-list__text {
  margin: 22px 0 0!important;
}
.select-list__unit {
  font-size: 18px;
}
.select-list .oval-link {
  width: 87%;
  display: block;
  margin: 17px auto 0;
  padding: 9px 33px;
  font-size: 16px;
}
.select-list .oval-link--blank--black::after {
  width: 10px;
  height: 10px;
  background: url(/sites/default/files/media/service/mobile/charge/dataplus/image/icon_window-bk.webp) no-repeat center / 100%;
}
.oval-link--no-icon::after {
  display: none;
}
@media (max-width: 768px) {
  .charge-select {
    padding-top: 40px;
  }
  .charge-select .lower-text {
    text-align: center;
  }
  .select-list, .select-list.col_4  {
    display: block!important;
  }
  .select-list__item:not(.select-list__item--features),
  .select-list.col_4 .select-list__item:not(.select-list__item--features) {
    width: 100%;
    padding: 20px 22px 24px!important;
  }
  .select-list__item + .select-list__item {
    margin-top: 24px!important;
  }
  .select-list__item--features {
    width: 100%;
  }
  .select-list__heading {
    gap: 3px;
    justify-content: center;
  }
  .select-list__heading img {
    width: 40px;
    margin: 0;
  }
  .select-list__title {
    font-size: 18px;
  }
  .select-list__value {
    margin-top: 6px;
  }
  .select-list__text {
    margin-top: 14px!important;
    font-size: 14px;
  }
  .select-list .oval-link {
    width: 71%;
  }
}




/* ドコモ MAX */
.plan-lower .content-inner--narrow {
  max-width: 1081px;
  width: 100%;
}

.plan-text {
  margin: 20px 0 0!important;
  font-size: 18px;
}

.inner-link {
  margin: 32px 0 0!important;
}
.inner-link li a {
  display: block;
  padding: 0 0 43px;
  font-size: 18px;
  font-weight: 700;
  color: #000;
}
.inner-link li a.dw::after {
  top: auto;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}

.plan-lower {
  margin: 24px 0 0;
  padding: 51px 0 59px;
  background: #FFF4F5;
}
.plan-lower.kakehodai_contents{
  background: #F1F8FC;
}
.plan-lower.data-unlimited_contents{
  background: #F5F5F5;
}
.plan-lower.mini_contents{
  background: #F0F9FF;
}
.plan-lower.keitai_contents{
  background: #fbf4f2;
}
.plan-lower__body {
  padding: 42px 82px 48px;
  border: 2px solid #CC0033;
  border-radius: 10px;
  background: #fff;
}
.plan-lower__heading {
  text-align: center;
}
.plan-lower__body .plan-lower__read-text {
  margin: 32px 0 0;
  color: #CC0033;
  font-size: 24px;
  font-weight: 700;
  text-align: center;
}
.plan-lower__body .plan-lower__read-text sup {
  font-size: 18px;
}

.plan-lower__body--kakehodai {
  border-color: #4B6C8D;
}
.plan-lower__body--kakehodai .plan-lower__read-text {
    color: #4B6C8D;
}
.plan-lower__body--data-unlimited {
  border-color: #001A3B;
}
.plan-lower__body--data-unlimited .plan-lower__read-text {
  color: #001A3B;
}
.plan-lower__body--mini {
  border-color: #0068B7;
}
.plan-lower__body--mini .plan-lower__read-text {
  color: #0068B7;
}
.plan-lower__body--keitai {
  border-color: #59250d;
}
.plan-lower__body--keitai .plan-lower__read-text {
  color: #59250d;
}

@media (max-width: 768px) {
  .inner-link li {
    padding: 0;
  }
  .inner-link li + li {
    margin-top: 18px;
  }
  .inner-link li:not(:last-of-type) {
    padding: 0 0 13px;
  }
  .inner-link li a {
    padding: 0 35px 0 0;
  }
  .inner-link li a.dw::after {
    right: 10px;
    left: auto;
    transform: translateX(0);
  }

  .plan-lower {
    margin-top: 16px;
    padding: 56px 0 42px;
  }
  .plan-lower__tables {
    margin: 5px 0 0;
    padding: 0;
  }
  .plan-lower__body {
    padding: 39px 39px 27px;
  }
  .plan-lower__heading img {
    width: 230px;
  }
  .plan-lower__body .plan-lower__read-text {
    margin-top: 24px;
    font-size: 18px;
  }
  .plan-lower__body .plan-lower__read-text sup {
    font-size: 12px;
  }
}

/* 料金プラン ※/charge/index.htmlとは別構築 */
.c-priceplan .c-priceplan__table{
  width: 100%;
}
.c-priceplan .c-priceplan__table th{
  color: #333;
}
.c-priceplan .c-priceplan__table td{
  padding: 24px;
  text-align: center;
  border: none;
}
.c-priceplan .c-priceplan__table td.pd0{
  padding: 0;
}
.c-priceplan .c-priceplan__table th{
  font-weight: 700;
  border: none;
  background: none;
}
.c-priceplan .c-priceplan__table thead th:first-of-type {
  width: 182px;
}
.c-priceplan .c-priceplan__table--mini .c-priceplan__table__size td{
  width:calc((100% - 20%) / 2);
}
.c-priceplan .c-priceplan__table--max .c-priceplan__table__size td{
  width:calc((100% - 20%) / 3);
}
.c-priceplan .c-priceplan__table--mini .c-priceplan__table__size td:first-child,
.c-priceplan .c-priceplan__table--max .c-priceplan__table__size td:first-child{
  width: 20%;
}
.c-priceplan .c-priceplan__table .c-priceplan__gb{
  padding: 0 16px;
}
.c-priceplan__gb.c-priceplan__gb--max{
  text-align:center;
}
.c-priceplan .c-priceplan__table .c-priceplan__gb span{
  display: block;
  padding: 8px;
  background: #fffef2;
  border-radius: 4px;
  color: #fff;
  font-size: 24px;
  font-weight: 700;
}
.c-priceplan .c-priceplan__table .c-priceplan__gb--mini span{
  background: #0067b6;
}
.c-priceplan .c-priceplan__table .c-priceplan__gb--max span{
  background: #c03;
}
.kakehodai_contents .c-priceplan .c-priceplan__table .c-priceplan__gb--max span{
  background: #4B6C8D;
}
.data-unlimited_contents .c-priceplan .c-priceplan__table .c-priceplan__gb--max span{
  background: #001A3B;
}
.mini_contents .c-priceplan .c-priceplan__table .c-priceplan__gb--max span{
  background: #0068B7;
}
.keitai_contents .c-priceplan .c-priceplan__table .c-priceplan__gb--max span{
  background: #59250d;
}
.c-priceplan .c-priceplan__table .c-priceplan__fee{
  color: #c03;
  font-family: 'Lato', 'Noto Sans JP', Helvetica, Neue Haas Grotesk, Arial;
  font-size: 32px;
}
.c-priceplan .c-priceplan__table .c-priceplan__fee--hl{
  color: #c03;
}
.c-priceplan .c-priceplan__table .c-priceplan__fee--bk{
  color: #000;
}
.c-priceplan .c-priceplan__table .c-priceplan__yen{
  font-size: 16px;
  font-weight: 700;
}
.c-priceplan .c-priceplan__table .c-priceplan__tax{
  display: block;
  font-size: 14px;
}
.c-priceplan .c-priceplan__table .c-priceplan__arrow{
  padding: 0;
  vertical-align: middle;
}
.c-priceplan .c-priceplan__table .c-priceplan__arrow img{
  width: 24px;
}
.c-priceplan .c-priceplan__table .c-priceplan__otoku{
  position: relative;
  font-size: 20px;
  font-weight: 600;
}
.c-priceplan .c-priceplan__table .c-priceplan__otoku span {
  color: #c03;
}
.c-priceplan .c-priceplan__table .c-priceplan__otoku::before{
  content: "";
  background: url(/sites/default/files/media/service/mobile/charge/image/plan_ic_light.webp);
  background-repeat: no-repeat;
  background-size: contain;
  width: 40px;
  height: 40px;
  position: absolute;
  top: 50%;
  left: -40px;
  transform: translateY(-50%);
}
.c-priceplan .c-priceplan__table .c-priceplan__discount{
  padding: 24px 16px;
}
.c-priceplan .c-priceplan__table .c-priceplan__discount div{
  padding: 16px;
  background: #fffef2;
  border-radius: 4px;
  border: 1px solid #ffec40;
}
.c-priceplan .c-priceplan__table .c-priceplan__note{
  padding: 0;
}
.c-priceplan .c-priceplan__table .c-priceplan__note ul{
  margin-top: 0;
}
.c-priceplan .c-priceplan__table .c-priceplan__empty{
  padding: 0;
}

@media (max-width: 768px) {
  .c-priceplan{
    overflow-x: auto;
  }
  .c-priceplan .c-priceplan__table--mini{
    width: 200%;
  }
  .c-priceplan .c-priceplan__table--max{
    width: 730px;
  }
  .c-priceplan .c-priceplan__table--call{
    width: 100%;
  }
  .c-priceplan .c-priceplan__table th{
    font-size: 14px;
    padding: 8px;
  }
  .c-priceplan .c-priceplan__table--mini .c-priceplan__table__size td{
    width:calc((100% - 16%) / 2);
  }
  .c-priceplan .c-priceplan__table--max .c-priceplan__table__size td{
    width:calc((100% - 16%) / 3);
  }
  .c-priceplan .c-priceplan__table--mini .c-priceplan__table__size td:first-child,
  .c-priceplan .c-priceplan__table--max .c-priceplan__table__size td:first-child{
    width: 16%;
  }
  .c-priceplan .c-priceplan__table .c-priceplan__gb span{
    font-size: 16px;
  }
  .c-priceplan .c-priceplan__table .c-priceplan__fee{
    font-size: 24px;
  }
  .c-priceplan .c-priceplan__table .c-priceplan__yen{
    font-size: 14px;
  }
  .c-priceplan .c-priceplan__table .c-priceplan__tax{
    font-size: 12px;
  }
  .c-priceplan .c-priceplan__table .c-priceplan__otoku{
    font-size: 16px;
  }
  
  .c-priceplan .c-priceplan__table--call th,
  .c-priceplan .c-priceplan__table--call td{
    display: block;
  }
  .c-priceplan .c-priceplan__table.c-priceplan__table--call .c-priceplan__otoku::before{
    width:30px;
    height: 30px;
    left: -30px;
    top: 15px;
  }
}
@media (max-width: 375px) {
  .c-priceplan .c-priceplan__table--mini {
    width: 244%;
  }
  .c-priceplan .c-priceplan__table--max {
    width: 305%;
  }
}


.discount-block{
  width: calc(100% - 32px);
  margin: 0 16px 24px;
}
.discount-block__item{
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 52px;
  padding: 10px 30px;
  border: 1px solid #ddd;
  border-radius: 4px;
}
.discount-block__item:nth-child(n + 2){
  margin-top: -1px;
}
.discount-block__title{
  margin: 0 !important;
  font-size: 16px !important;
  font-weight: bold !important;
}
.discount-block__price{
  margin: 0!important;
}
.discount-block__price:nth-child(n + 2){
  margin-top: 6px;
}
.discount-block__num{
  font-size: 20px;
  font-family: 'Lato', 'Noto Sans JP', Helvetica, Neue Haas Grotesk, Arial;
}
.discount-block__tax{
  font-size: 14px;
}
.discount-block__tag{
  position: relative;
  display: inline-block;
  width: 80px;
  height: 26px;
  margin-right: 20px;
  background: #eaeaea;
  font-size: 14px;
  font-weight: bold;
  line-height: 26px;
}
.discount-block__tag::after{
  content: "";
  position: absolute;
  top: 0;
  right: -12px;
  display: inline-block;
  border-top: 13px solid transparent;
  border-bottom: 13px solid transparent;
  border-left: 12px solid #eaeaea;
}

@media (max-width: 768px) {
  .discount-block__title{
    font-size: 13px!important;
  }
  .discount-block__item{
    padding: 7px 20px;
  }
  .discount-block__num{
    font-size: 18px;
  }
  .discount-block__monthly{
    font-size: 13px;
  }
  .discount-block__tax{
    font-size: 12px;
  }
}

/* うれしい特典 */
.benefits {
  margin: 14px 0 0;
}
.benefits__ttl {
  text-align: center;
}
.benefits__ttl img {
  width: 188px;
}
.benefits__body {
  display: flex;
  gap: 22px;
  margin: 16px 0 0;
  padding: 25px 34px;
  background: #FAE6EA;
  border-radius: 10px;
  flex-wrap: wrap;
}
.benefits__item {
  display: flex;
  align-items: center;
  gap: 6px;
  width: calc(50% - 11px);
  padding: 5px 11px;
  border-radius: 10px;
  background: #fff;
}
.benefits__img {
  width: 99px;
}
.benefits__txt {
  width: calc(100% - 105px);
}
.benefits__txt span {
  color: #c03;
  font-size: 19px;
  font-weight: 700;
}
.benefits__txt .benefits_more{
  display: block;
  font-size: 12px;
  font-weight: normal;
  text-align: right;
  color: #000;
}
.benefits__txt .benefits_more span{
  font-weight: normal;
  font-size: 12px;
}

.note-block {
  margin: 32px 0 0;
  font-size: 12px;
}
.note-block .note-list + .note-txt,
.note-block .note-txt + .note-txt {
  margin-top: 1.8em;
}

.plan-lower + .charge-cta {
  padding: 48px 0;
}
.charge-cta .simple-heading--border span {
  position: relative;
  display: inline-block;
  z-index: 1;
}
.charge-cta .simple-heading--border span::after {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  content: "";
  display: inline-block;
  width: 100%;
  height: 11px;
  background: #F5DEE1;
  z-index: -1;
}

.rcmd-point__list {
  display: flex;
  justify-content: center;
  gap: 40px;
  margin: 25px 0 0!important;
}
.rcmd-point__item {
  display: flex;
  align-items: center;
  gap: 16px;
}
.rcmd-point__img {
  width: 64px;
}
.rcmd-point__txt {
  font-size: 18px;
  font-weight: 700;
}

.border-heading {
  margin: 66px 0 0 !important;
  font-size: 26px !important;
  font-weight: 700 !important;
  text-align: center;
}
.rcmd .border-heading {
  color: #CC0033;
}
.border-heading > span {
  position: relative;
  display: inline-block;
  z-index: 1;
}
.border-heading > span::after {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  content: "";
  display: inline-block;
  width: 100%;
  height: 10px;
  background: #F5DEE1;
  z-index: -1;
}
.border-heading--yl > span::after {
  background: #FFF292;
}

.rcmd-guide {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 30px;
  margin: 39px 0 0 !important;
}
.rcmd-guide__item {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  padding: 20px 25px;
  border: 2.5px solid #E0E0E0;
  border-radius: 12px;
  text-align: center;
}

.rcmd-guide__ttl {
  font-size: 18px;
  font-weight: 700;
}
.rcmd-guide__txt {
  font-size: 18px;
  font-weight: 500;
}
.rcmd-guide__txt span {
  margin: 0 3px;
  color: #c03;
  font-size: 28px;
  font-weight: 700;
  line-height: 1;
}

dl.rcmd-guide__txt {
  display: grid;
  grid-template-columns: max-content 1fr;
}
.rcmd-guide__txt dt,
.rcmd-guide__txt dd {
  align-self: center;
}
.rcmd-guide__txt dt {
  display: flex;
  justify-content: space-between;
}
.rcmd-guide__txt dt::after {
  content: "：";
}
.rcmd-guide__txt dd {
  margin: 0;
}

.rcmd-note {
  margin: 26px 0 0!important;
}
@media (max-width: 768px) {
  .benefits {
    margin-top: 36px;
  }
  .benefits__ttl img {
    width: 152px;
  }
  .benefits__body {
    display: block;
    padding: 13px 33px 23px;
  }
  .benefits__item {
    flex-direction: column-reverse;
    width: 100%;
    padding: 10px 20px 5px;
  }
  .benefits__item:nth-child(n + 2) {
    margin-top: 15px;
  }
  .benefits__img {
    width: 104px;
    margin-top: 4px;
  }
  .benefits__txt {
    width: 100%;
    line-height: 1.6;
    text-align: center;
  }

  .note-block {
    margin-top: 27px;
  }

  .rcmd-point {
    text-align: center;
  }
  .rcmd-point__list {
    display: inline-block;
  }
  .rcmd-point__item {
    gap: 5px;
  }
  .rcmd-point__item:nth-child(n + 2) {
    margin-top: 12px;
  }
  .rcmd-point__img {
    width: 38px;
    height: 38px;
  }
  .rcmd-point__txt {
    font-size: 16px;
    width: calc(100% - 42px);
  }

  .border-heading {
    margin-top: 38px !important;
    font-size: 20px !important;
  }

  .rcmd-guide {
    display: block;
    width: calc(100% - 30px);
    margin: 20px auto 0 !important;
  }
  .rcmd-guide__item {
    padding: 18px 25px 20px;
  }
  .rcmd-guide__item:nth-child(n + 2) {
    margin-top: 14px;
  }
  .rcmd-guide__img {
    width: 96px;
    margin: 0 auto!important;
  }

  .rcmd-guide__ttl {
    margin-top: 20px;
  }
  .rcmd-guide__txt {
    margin-top: 10px;
  }

  dl.rcmd-guide__txt {
    grid-template-columns: max-content max-content;
    justify-content: center;
  }

  .rcmd-note {
    margin: 9px 15px 0 !important;
    font-size: 12px;
  }
}


/* ドコモMAXの選べる特典 */
.selectable-benefits {
  margin: 47px 0 0;
  padding: 37px 0 46px;
  background: #FFFBE9;
  text-align: center;
}
.selectable-benefits__heading img {
  width: 441px;
}
.selectable-benefits__body {
  width: 804px;
  margin: 35px auto 0;
  padding: 0 40px 23px;
  border-radius: 10px;
  box-shadow: 2px 4px 10px rgb(144 115 21 / 39%);
  background: #fff;
}
.selectable-benefits__body .oval-link--blank--black::after   {
  width: 10px;
  height: 10px;
  background: url(/sites/default/files/media/service/mobile/charge/dataplus/image/icon_window-bk.webp) no-repeat center / 100%;
}
.selectable-benefits__label {
  position: relative;
  top: -21px;
  width: 369px;
  margin: 0 auto;
}
.selectable-benefits__text {
  font-size: 20px;
  font-weight: 500;
}
.selectable-benefits__text .border-heading--yl {
  color: #212121;
  font-size: 22px;
}
.selectable-benefits__text .text-color--red {
  font-size: 32px;
}
.selectable-benefits__list {
  display: flex;
  gap: 30px;
  margin: 9px 0 0!important;
}
.selectable-benefits__name {
  margin: 10px 0 0!important;
  font-size: 18px;
  font-weight: 700;
}
.selectable-benefits__list + .oval-link {
  width: 321px;
  margin: 18px 0 0;
}
@media (max-width: 768px) {
  .selectable-benefits {
    margin-top: 44px;
    padding: 25px 44px 43px;
  }
  .selectable-benefits .content-inner {
    padding: 0;
  }
  .selectable-benefits__heading img {
    width: 305px;
  }
  .selectable-benefits__body {
    width: 100%;
    margin-top: 31px;
    padding: 0 23px 28px;
  }
  .selectable-benefits__label {
    top: -16px;
    width: 249px;
  }
  .selectable-benefits__text {
    font-size: 16px;
  }
  .selectable-benefits__text .border-heading--yl {
    display: inline-block;
    margin: 5px 0 0;
    line-height: 1;
  }
  .selectable-benefits__list {
    flex-wrap: wrap;
    gap: 18px 25px;
    margin-top: 25px !important;
  }
  .selectable-benefits__item {
    width: calc((100% - 25px) / 2);
  }
  .selectable-benefits__image {
    width: 122px;
    margin: 0 auto !important;
  }
  .selectable-benefits__name {
    margin-top: 8px !important;
    font-size: 14px;
  }
  .selectable-benefits__list + .oval-link {
    width: calc(100% - 13px);
    margin: 23px auto 0;
    padding: 9px 40px;
  }
}


/* ご注意事項 */
.atten {
  margin: 42px 0 0;
}
.atten-heading {
  margin: 0 0 27px;
  font-size: 24px !important;
  font-weight: 700 !important;
  text-align: center;
}
.note-txt + .note-txt,
.note-txt + .dot-list,
.dot-list + .switch__title {
  margin-top: 1em;
}
.atten .note-txt {
  margin-left: 0;
  text-indent: 0;
  line-height: 1.7;
}
.dot-list__item {
  position: relative;
  padding-left: 1.5em;
}
.dot-list__item::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "・";
  display: inline-block;
}

.switch {
  margin: 42px 0 0;
}
.switch__heading {
  position: relative;
  width: 100%;
  padding: 13px 110px 13px 18px;
  border: none;
  background: #F0F0F0;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.5;
  text-align: left;
}
.switch__heading::after {
  position: absolute;
  top: 50%;
  right: 14px;
  transform: translateY(-50%);
  content: "開く";
  display: inline-block;
  min-height: 22px;
  padding-right: 28px;
  background: url(/sites/default/files/media/service/mobile/charge/max/image/icon_plus.webp) no-repeat right center / 22px 22px;
  color: #5E5E5E;
  font-weight: 500;
}
.switch__heading.is-active::after {
  content: "閉じる";
  background-image: url(/sites/default/files/media/service/mobile/charge/max/image/icon_minus.webp);
}
.switch__body {
  margin: 21px 0 0;
}
.switch__title {
  font-size: 14px !important;
  line-height: 1.7 !important;
}
@media (max-width: 768px) {
  .atten-heading {
    margin-bottom: 14px;
    font-size: 22px!important;

  }

  .switch {
    margin-top: 22px;
  }
  .switch__heading {
    padding: 10px 80px 10px 12px;
    font-size: 14px;
  }
  .switch__heading::after {
    right: 12px;
  }
}



/* 適用できる割引 */
.charge-discount--lower {
  margin: 103px 0 0;
  padding: 55px 0 0;
}
.charge-discount--lower .discount-text {
  margin: 22px 0 0;
  text-align: left;
}
.charge-discount--lower a.oval-link {
  width: calc(100% - 12px);
  padding: 7px 40px;
  font-size: 16px;
}

.charge-discount--lower + .charge-cta {
  padding: 50px 0 63px;
}
@media (max-width: 768px) {
  .charge-discount--lower {
    margin-top: 53px !important;
    padding: 35px 0 0 !important;
  }
  ul.discount-list {
    width: auto;
    margin-top: 29px !important;
  }
  .charge-discount--lower .discount-link {
    width: 238px;
  }
  .charge-discount--lower a.oval-link {
    width: 100%;
  }

  .charge-discount--lower + .charge-cta {
    padding: 40px 0 57px;
  }
}
.note-block .text-bold {
    font-weight: bold;
}
/*ドコモ mini*/
.mini-price-table{
  width: 100%;
  border-collapse: collapse;
  margin: 24px 0 0;
  caption-side: top;
  table-layout: fixed;
}
.mini-price-table th {
    border: 1px solid #E5E5E5;
    border-right: none;
    border-left: none;
    padding: 25px 32px;
    font-weight: normal;
    font-size: 18px;
    vertical-align: middle;
    color: #2b2b2b;
    background: #fff;
}
.mini-price-table tbody tr:first-child th {
    border-top: 1px solid #cfcfcf;
}
.mini-price-table  tbody tr:last-child th {
    border-bottom: 1px solid #cfcfcf;
}
.mini-price-table tbody tr:last-child th {
    border-bottom: 1px solid #cfcfcf;
}
.mini-price-table .th-dark {
    background: #F3F3F3;
    font-weight: bold;
}


/*ケータイ*/
.scroll-block .ketai-price-table{
  min-width: 600px;
}
.ketai-price-table{
  width: 100%;
  border-collapse: collapse;
  margin: 24px 0 0;
  caption-side: top;
  table-layout: fixed;
}
.ketai-price-table th {
    border: 1px solid #E5E5E5;
    border-right: none;
    border-left: none;
    padding: 25px 32px;
    font-weight: normal;
    font-size: 18px;
    vertical-align: middle;
    text-align: left;
    color: #2b2b2b;
    background: #fff;
}
.ketai-price-table tbody tr:first-child th {
    border-top: 1px solid #cfcfcf;
}
.ketai-price-table  tbody tr:last-child th {
    border-bottom: 1px solid #cfcfcf;
}
.ketai-price-table tbody tr:last-child th {
    border-bottom: 1px solid #cfcfcf;
}
.ketai-price-table .th-dark {
    background: #F3F3F3;
    font-weight: bold;
}
.ketai-price-table .th-light {
    background: #FAFAFA;
    font-weight: normal;
    border: 1px solid #E5E5E5;
}
@media (max-width: 768px) {
  .mini-price-table th{
    display: block;
  }
  .mini-price-table th,.ketai-price-table th{
    font-size: 14px;
  } 
  .mini-price-table .th-dark{
    border-bottom: none !important;
  }
}
/*H1上書き*/
.main-heading {
    font-size: 44px !important;
    margin-top: 60px !important;
    font-weight: bold !important;
}
@media (max-width: 768px) {
    .main-heading {
        margin: 0 !important;
        font-size: 30px !important;
    }
}