@charset "utf-8";

/* =========================================================
* 共通 /content/dam/nttcom/hq/jp/business/services/rinkmobileaccess/img/
* ====================================================== */

*,
* ::before,
* ::after {
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .main-article__contents--inner {
    padding: 0 0 100px;
  }
}
@media screen and (max-width: 768px) {
  .main-article__contents {
    margin: 0 auto 0;
  }
}

a.underline {
  text-decoration: underline;
}

sup,sub,span {
  color:inherit;
}

/*PC・SP*/
.only_pc {
  display:block;
}
.only_sp {
  display:none;
}
@media screen and (max-width: 480px) {
  .only_pc {
    display:none;
  }
  .only_sp {
    display:block;
  }
}

/* 共通 */
.main-article__contents--inner section > p + p {
  margin-top: 1em;
}

.main-article__contents--inner section#overview h3 {
  margin: 120px 0 0;
  font-size: 20px;
  font-weight: bold;
  text-align: center;
}
.main-article__contents--inner section#overview h3 + p {
  margin: 40px 0 0;
}

/* 導入部分 */
#overview .intro-img {
  margin: 80px 0 0;
}

/* 利用シーンに合わせて選べる4つの通信方式 */
#overview .scene-list {
  display: flex;
  flex-wrap: wrap;
  gap: 34px 40px;
  margin: 60px 0 0;
}
#overview .scene-list__item {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: calc(50% - 20px);
  border-radius: 12px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, .25);
  overflow: hidden;
}
#overview .scene-top {
  padding: 30px 30px 0;
}
#overview .scene-top__title {
  color: #cc0033;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
}
#overview .scene-top .dot-list {
  margin: 30px 0 0;
  font-weight: bold;
}
#overview .scene-top__image {
  margin: 30px 0 0;
}
#overview .scene-top__text {
  margin-top: 20px;
}
#overview .scene-bottom {
  margin: 20px 0 0;
  padding: 20px 30px 30px;
  background: #f2f2f2;
}
#overview .scene-bottom__title {
  margin: 0;
  text-align: center;
  font-size: 18px;
  font-weight: bold;
}
#overview .scene-bottom .dot-list {
  margin: 20px 0 0;
}

#overview .box-group {
  margin: 60px 0 0;
}
#overview .box-group__list {
  display: flex;
  flex-wrap: wrap;
  border-top: 1px solid #ccc;
  border-left: 1px solid #ccc;
}
#overview .box-group__item {
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(100% / 3);
  min-height: 56px;
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  color: #666;
  font-weight: bold;
  text-align: center;
}
#overview .box-group__note {
  margin: 20px 0 0;
  font-size: 14px;
}

@media screen and (max-width: 768px) {
  /* 共通 */
  .main-article__contents--inner section#overview h3 {
    margin-top: 80px;
  }
  .main-article__contents--inner section#overview h3 + p {
    margin-top: 20px;
  }

  /* 導入部分 */
  #overview .intro-img {
    margin-top: 50px;
  }

  /* 利用シーンに合わせて選べる4つの通信方式 */
  #overview .scene-list {
    display: block;
    margin-top: 40px;
  }
  #overview .scene-list__item {
    width: 100%;
  }
  #overview .scene-list__item:nth-child(n + 2) {
    margin-top: 20px;
  }
  #overview .scene-top {
    padding: 20px 20px 0;
  }
  #overview .scene-top .dot-list {
    margin-top: 10px;
  }
  #overview .dot-list__item {
    margin-left: 1em;
    text-indent: -1em;
  }
  #overview .scene-top__image {
    margin-top: 10px;
  }
  #overview .scene-top__text {
    margin-top: 10px;
  }
  #overview .scene-bottom {
    padding: 20px 20px 30px;
  }
  #overview .scene-bottom .dot-list {
    margin-top: 10px;
  }

  #overview .box-group {
    margin-top: 40px;
  }
  #overview .box-group__item {
    padding: 10px;
    width: calc(100% / 2);
  }

}


/* feature */


/* 5つの特長 */
#feature .feature-list {
  margin: 80px 0 0;
}
#feature .feature-list__item {
  display: flex;
  gap: 40px;
}
#feature .feature-list__item:nth-child(n + 2) {
  margin-top: 60px;
}
#feature .feature-list__detail {
  width: calc(100% - 290px);
}
#feature .feature-list__title {
  display: flex;
  align-items: center;
  gap: 15px;
}
#feature .feature-list__num {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  background: #cc023a;
  color: #fff;
  font-size: 15px;
  font-weight: bold;
}
#feature .feature-list__label {
  width: calc(100% - 45px);
  color: #cc023a;
  font-size: 18px;
  font-weight: bold;
}
#feature .feature-list__text {
  margin: 32px 0 0;
}
#feature .feature-list__image {
  width: 250px;
}
@media screen and (max-width: 768px) {
  /* 5つの特長 */
  #feature .feature-list {
    margin-top: 50px;
  }
  #feature .feature-list__item {
    display: block;
  }
  #feature .feature-list__item:nth-child(n + 2) {
    margin-top: 40px;
  }
  #feature .feature-list__detail {
    width: 100%;
  }
  #feature .feature-list__text {
    margin-top: 20px;
  }
  #feature .feature-list__image {
    margin: 20px auto 0;
  }
}

/* device */


/* 商品アンカー */
#device .anchor-list {
  max-width: 680px;
  margin: 80px auto 0;
  padding: 20px;
  border: 1px solid #ccc;
}
#device .anchor-list__item:nth-child(n+2) {
  margin-top: 6px;
}
#device .anchor-list__item a {
  position: relative;
  padding-right: 16px;
}
#device .anchor-list__item a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: 8px;
  height: 5px;
  background: url(/content/dam/nttcom/hq/jp/business/services/rinkmobileaccess/device/img/icon_arrow.png) no-repeat center / contain;
  transform: translateY(-50%);
}

/* 商品 */
#device .product {
  margin: 100px 0 0;
}
#device .product__title {
  font-size: 20px;
  font-weight: bold;
  text-align: center;
}
#device .product__body {
  display: flex;
  gap: 60px;
  margin: 40px 0 0;
}
#device .product__image {
  width: 260px;
  height: 200px;
  padding: 14px;
  border: 1px solid #e2e2e2;
}
#device .product__detail {
  width: calc(100% - 320px);
  margin: 10px 0 0;
}
#device .product-list__item {
  margin-left: 1em;
  font-weight: bold;
  text-indent: -1em;
}
#device .product-list__item:nth-child(n+2) {
  margin-top: 2px;
}
#device .product__note {
  margin: 20px 0 0;
  font-size: 14px;
}

#device .product-table {
  width: 100%;
  margin: 60px 0 0;
}
#device .product-table th,
#device .product-table td {
  border: 1px solid #ccc;
  line-height: 1.5;
}
#device .product-table tr:first-child th {
  width: 270px;
}

@media screen and (max-width: 768px) {
  /* 共通 */
  #device .product {
    margin-top: 80px;
  }
  #device .table-scroll {
    overflow-y: auto;
  }

  /* 商品アンカー */
  #device .anchor-list {
    margin-top: 50px;
  }

  /* 商品 */
  #device .product__body {
    display: block;
  }
  #device .product__image {
    margin: 0 auto;
  }
  #device .product__detail {
    width: 100%;
    margin-top: 40px;
  }

  #device .product-table {
    margin-top: 40px;
    width: 1000px;
  }

}

/* charge */


/* 共通 */
#charge table {
  width: 100%;
  table-layout: fixed;
}
#charge table th,
#charge table td {
  padding: 13px;
  border: 1px solid #ccc;
  vertical-align: middle;
}
#charge table th {
  font-weight: bold;
  line-height: 1.25;
}
#charge table th.bg--wt {
  background: #fff;
}
#charge table td {
  line-height: 1.5;
}


#charge-option table {
  width: 100%;
  table-layout: fixed;
}
#charge-option table th,
#charge-option table td {
  padding: 13px;
  border: 1px solid #ccc;
  vertical-align: middle;
}
#charge-option table th {
  font-weight: bold;
  line-height: 1.25;
}
#charge-option table th.bg--wt {
  background: #fff;
}
#charge table td {
  line-height: 1.5;
}

.main-article__contents--inner section > p + p {
  margin-top: 1em;
}

/* 料金コース */
#charge .charge-list {
  display: flex;
  gap: 47px;
  margin: 76px 0 0;
}
#charge .charge-list__item {
  position: relative;
  width: calc((100% - 94px) / 3);
  border: 2px solid #bfbfbf;
  border-radius: 13px;
  padding: 20px 15px;
  text-align: center;
}
#charge .charge-list__item:nth-child(n + 2)::before {
  position: absolute;
  top: 50%;
  left: -42px;
  transform: translateY(-50%);
  content: "＋";
  color: #cc0033;
  font-size: 30px;
  font-weight: bold;
  line-height: 1;
}
#charge .charge-list__num {
  font-size: 28px;
  line-height: 1;
}
#charge .charge-list__text {
  margin: 10px 0 0;
  font-size: 18px;
  font-weight: bold;
}
#charge .charge-list__price {
  margin-top: 7px;
  padding-top: 7px;
  border-top: 1px solid #bfbfbf;
}
#charge .charge-list__item.is-select {
  border-color: #cc0033;
}
#charge .charge-list__item.is-select * {
  color: #cc0033;
}

#charge .table-space {
  margin: 40px 0 0;
}
#charge .charge-list + .table-space {
  margin: 80px 0 0;
}

#charge .charge-table__label {
  width: 10.094%;
}
#charge .charge-table__main {
  width: 19.151%;
}
#charge .charge-table__sub {
  width: 16.226%;
}
#charge .charge-table tbody tr:nth-child(even) td {
  background: #fcede4;
}

#charge .charge-table th.is-select {
  color: #cc0033;
}
#charge .charge-table tr td:not(:first-of-type) {
  text-align: right;
}

/* テーブル枠線 */
#charge .charge-table .is-select {
  position: relative;
}
#charge .charge-table .is-select::before,
#charge .charge-table .is-select::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 1px;
  background: red;
  z-index: 1;
}
#charge .charge-table .is-select::before {
  left: 0;
}
#charge .charge-table .is-select::after {
  right: 0;
}
#charge .charge-table thead .is-select {
  border-top: 1px solid red;
}
#charge .charge-table tbody tr:last-child .is-select {
  border-bottom: 1px solid red;
}

/* テーブル注釈 */
#charge .table-note {
  margin: 20px 0 0;
  font-size: 14px;
}

/* 初期費用 */
#charge .h3__title,
#charge-option .h3__title {
  margin: 100px 0 20px;
}
#charge .cost-table__label01 {
  width: 11.79%;
}
#charge .cost-table__label02 {
  width: 21.70%;
}
#charge .cost-table__main {
  width: 22.17%;
}
#charge .cost-table td {
  text-align: center;
}

/* 初期費用：端末あんしん保証 */
#charge .security-table__label {
  width: 17.925%;
}
#charge .security-table__main {
  width: 27.358%;
}
#charge .security-table th,
#charge .security-table td {
  text-align: center;
}

/* 初期費用：キッティング */
#charge .kitting-table {
  border: 1px solid #ccc;
}
#charge .kitting-table__label01 {
  width: 3.774%;
}
#charge .kitting-table__label02 {
  width: 14.151%;
}
#charge .kitting-table__main {
  width: 20.519%;
}
#charge .kitting-table th,
#charge .kitting-table td {
  border: none;
  text-align: center;
}
#charge .kitting-table td {
  border: 1px solid #ccc;
}
#charge .kitting-table th.border--all {
  border: 1px solid #ccc;
}
#charge .kitting-table th.border--right {
  border-right: 1px solid #ccc;
}
#charge .kitting-table th.border-bg--top {
  border-top: 1px solid #eee;
}

/* オプション */
#charge-option .option-image {
  margin: 40px auto 0!important;
  max-width: 546px;
}
#charge-option .option-table {
  margin: 40px 0 0;
}
#charge-option .option-table th {
  width: 190px;
}

/* 注意事項 */
#charge-option .atten {
  margin: 60px 0 0;
}
#charge-option .atten__title {
  font-size: 18px;
  font-weight: bold;
}
#charge-option .atten-box {
  display: flex;
  gap: 40px;
  margin: 30px 0 0;
}
#charge-option .atten-box--col3 .atten-box__item {
  width: calc((100% - 80px) / 3);
}
#charge-option .atten-box--col2 .atten-box__item {
  width: calc(50% - 20px);
}
#charge-option .atten-box__title {
  font-weight: bold;
}
#charge-option .atten-box__text + .atten-box__title {
  margin-top: 1em;
}
#charge-option .atten-box__list li {
  margin-left: 1em;
  text-indent: -1em;
}

@media screen and (max-width: 768px) {
  /* 料金コース */
  #charge .charge-list {
    display: block;
    margin-top: 50px;
  }
  #charge .charge-list__item {
    width: 100%;
    max-width: 322px;
    margin: 0 auto;
  }
  #charge .charge-list__item:nth-child(n + 2) {
    margin-top: 30px;
  }
  #charge .charge-list__item:nth-child(n + 2)::before {
    top: -34px;
    left: 50%;
    transform: translateX(-50%);
  }
  #charge .charge-list__num {
    font-size: 24px;
  }

  #charge .table-scroll {
    overflow-x: auto;
    max-height: 400px;
  }
  #charge .sticky-table {
    width: 100%;
    min-width: 1060px;
  }
  #charge .sticky-table thead th {
    position: sticky;
    top: 0;
    z-index: 2;
  }

  #charge .charge-table .is-select {
    position: sticky;
  }

  /* 初期費用 */
  #charge .h3__title,
  #charge-option .h3__title {
    margin-top: 60px;
  }

  /* オプション */
  #charge-option .option-table,
  #charge-option .option-table tbody,
  #charge-option .option-table tr,
  #charge-option .option-table th,
  #charge-option .option-table td {
    display: block;
    width: 100%;
    border: none;
  }
 #charge-option  .option-table {
    border: 1px solid #ccc;
  }
  #charge-option .option-table th,
 #charge-option  .option-table td:not(:last-of-type) {
    border-bottom: 1px solid #ccc;
  }

  /* 注意事項 */
  #charge-option .atten {
    margin-top: 40px;
  }
  #charge-option .atten-box {
    display: block;
    margin-top: 10px;
  }
  #charge-option .atten-box__item:not(:first-of-type) {
    margin-top: 1em;
  }
  #charge-option .atten-box--col3 .atten-box__item,
  #charge-option .atten-box--col2 .atten-box__item {
    width: 100%;
  }

}

/* scenarios */


/* ケース */
#scenarios .case-list__item {
  margin: 80px 0 0;
}

#scenarios .case-list__heading {
  display: flex;
  gap: 20px;
}
#scenarios .case-list__num {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 86px;
  height: 86px;
  background: #cc0033;
  color: #fff;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.1;
  text-align: center;
}
#scenarios .case-list__content {
  width: calc(100% - 106px);
}
#scenarios .case-list__title {
  font-size: 26px;
  font-weight: bold;
  line-height: 1.2;
}
#scenarios .case-list__lead {
  font-size: 18px;
  line-height: 1.6;
}

#scenarios .case-list__body {
  margin: 40px 0 0;
  padding: 40px;
  border: 2px solid #ccc;
  border-radius: 14px;
}

#scenarios .case-list__intro {
  display: flex;
  gap: 40px;
}
#scenarios .case-list__intro-body {
  width: calc(100% - 470px);
}
#scenarios .case-list__subtitle {
  padding: 0 0 20px;
  border-bottom: 1px solid #cc0033;
  color: #cc023a;
  font-size: 20px;
  font-weight: bold;
  text-align: center;
}
#scenarios .case-list__text {
  font-size: 18px;
}
#scenarios .case-list__subtitle + .case-list__text {
  margin-top: 20px;
}
#scenarios .case-list__text + .case-list__text {
  margin-top: 1em;
}
#scenarios .case-list__image {
  width: 470px;
}

#scenarios .case-list__detail {
  display: flex;
  justify-content: center;
  gap: 40px;
  margin: 40px 0 0;
  padding: 40px 0 0;
  border-top: 1px solid #ccc;
}
#scenarios .price {
  font-weight: bold;
  text-align: center;
}
#scenarios .price__label {
  padding: 5px 26px;
  border: 1px solid #cc0033;
  color: #cc023a;
}
#scenarios .price__value {
  margin: 22px 0 0;
  font-size: 20px;
}
#scenarios .price__tax {
  margin: 3px 0 0;
}

#scenarios .spec-list {
  margin: 10px 0 0;
}
#scenarios .spec-list__item {
  font-weight: bold;
  line-height: 1.3;
}

#scenarios .case-list__tables {
  display: flex;
  gap: 40px;
  margin: 40px 0 0;
}
#scenarios .table-box {
  width: calc(50% - 20px);
}
#scenarios .case-table {
  width: 100%;
  margin: 0;
}
#scenarios .case-table td:first-of-type {
  width: 215px;
  font-weight: bold;
}
#scenarios .case-table td:not(:first-of-type) {
  text-align: center;
}
#scenarios .case-table__total td {
  background: #eee;
}

@media screen and (max-width: 768px) {
  /* ケース */
  #scenarios .case-list__item {
    margin-top: 50px;
  }

  #scenarios .case-list__heading {
    display: block;
  }
  #scenarios .case-list__num {
    height: auto;
    padding: 5px;
    width: 100px;
    display: block;
    margin: 0 auto;
  }
  #scenarios .case-list__content {
    width: 100%;
    margin: 20px 0 0;
  }
  #scenarios .case-list__title {
    font-size: 24px;
    line-height: 1.5;
  }
  #scenarios .case-list__lead {
    margin-top: 10px;
  }

  #scenarios .case-list__body {
    margin-top: 20px;
    padding: 20px;
  }

  #scenarios .case-list__intro {
    display: block;
  }
  #scenarios .case-list__intro-body {
    width: 100%;
  }
  #scenarios .case-list__image {
    width: 100%;
    margin-top: 20px;
  }

  #scenarios .case-list__detail {
    display: block;
    margin-top: 20px;
    padding-top: 20px;
  }
  #scenarios .price__value {
    margin-top: 10px;
  }

  #scenarios .spec-list {
    margin-top: 20px;
    text-align: center;
  }
  #scenarios .spec-list__body {
    display: inline-block;
    text-align: left;
  }

  #scenarios .case-list__tables {
    display: block;
    margin-top: 20px;
  }
  #scenarios .table-box {
    width: 100%;
  }
  #scenarios .table-box + .table-box {
    margin-top: 40px;
  }
  #scenarios .case-table,
  #scenarios .case-table tbody,
  #scenarios .case-table tr,
  #scenarios .case-table th,
  #scenarios .case-table td {
    display: block;
    width: 100%!important;
    border: none;
  }
  #scenarios .case-table {
    border: 1px solid #ccc;
  }
  #scenarios .case-table td {
    border-bottom: 1px solid #ccc;
    background: #fff;
  }
  #scenarios .case-table td:first-of-type {
    background: #eee;
  }
  #scenarios .case-table__total td:last-of-type {
    border-bottom: none;
  }
}