@charset "UTF-8";
/**
 * NTT PC
 */

/*-------------------------------------------------------------*/
/* main */

/* price */
.price {
  padding: 100px 0;
  background: #1e2534;
}
.price_h3 {
  margin: 50px auto 15px;
  color: #fff;
  font-size: 3rem;
  font-weight: bold;
  text-align: center;
}
.price_h4 {
  margin-bottom: 10px;
  color: #fff;
  font-size: 2rem;
  font-weight: bold;
}
.price_text {
  margin-bottom: 15px;
  color: #fff;
}
.price_table {
  margin-bottom: 20px;
  line-height:1.1;
}
.price_table table {
  width: 100%;
  border-collapse: separate;
  border-left: #2564af 1px solid;
  border-top: #2564af 1px solid;
  border-radius: 8px;
}
.price_table table thead th {
  padding: 15px;
  background: #2564af;
  color: #fff;
  text-align: center;
  border-bottom: #2564af 1px solid;
  border-right: #fff 1px solid;
}
.price_table table thead th:first-of-type {
  border-top-left-radius: 8px;
}
.price_table table thead th:last-of-type {
  border-right: #2564af 1px solid;
  border-top-right-radius: 8px;
}
.price_table table tbody th ,
.price_table table tbody td {
  padding: 10px 20px;
  line-height:1.2;
  background: #eff3f8;
  text-align: center;
  border-bottom: #2564af 1px solid;
  border-right: #2564af 1px solid;
}
.price_table table tbody tr th.bdr_bl_r ,/* 最後のthがrowspan有りでtrラストでは無い時用 */
.price_table table tbody tr:last-of-type th:first-of-type {
  border-bottom-left-radius: 8px;
}
.price_table table tbody tr:last-of-type td:last-of-type {
  border-bottom-right-radius: 8px;
}
.price_table table span {
  font-size: 1.4rem;
}
.price_table table small {
  font-size: 1.2rem;
  line-height:1.2;
}
.price_table table .subth {
  background: #cfdff1;
}
.price_table.price_table_case table {
  border-color: #ccc;
}
.price_table.price_table_case table thead th {
  background: #eff3f8;
  color: #222;
  border-color: #ccc;
}
.price_table.price_table_case table tbody th ,
.price_table.price_table_case table tbody td {
  background: #f6f6f6;
  border-color: #ccc;
}
.price_note {
  margin-bottom: 15px;
  color: #fff;
  font-size: 1.3rem;
}
.price_note:last-child {
  margin: 0;
}
@media (max-width: 1399px) {
}
@media (max-width: 1199px) {
  .price_table {
    font-size: 1.2rem;
  }
}
@media (max-width: 991px) {
  .price_table {
    overflow-x: scroll;
    font-size: 2rem;
  }
  .price_table table {
    width: 1400px;
  }
}
@media (max-width: 767px) {
  .price {
    padding: 40px 0;
  }
  .price_h3 {
    margin: 30px auto 15px;
    font-size: 4vw;
  }
  .price_h4 {
    font-size: max(2.4vw,12px);
  }
  .price_text {
    font-size: max(2.3vw,12px);
  }
  .price_table {
    font-size: max(2.5vw,12px);
  }
  .price_table table {
    width: 250%;
  }
  .price_table table span {
    font-size: max(2.25vw,12px);
  }
  .price_table table small {
    font-size: max(2vw,12px);
  }
  .price_note {
    font-size: max(2vw,12px);
  }
}
@media (max-width: 575px) {
  .price_table table {
    width: 330%;
  }
}
