/* =============
m_price__footer スコープ
============= */
.m_price__footer li{
  position: relative;
  font-size: 11px;
  padding-left: 1.5em;
}
.m_price__footer li::before {
  content: "※";
  display: block;
  position: absolute;
  left: 0;
}
/* =============
m_leafPriceTable ベース
============= */
.m_leafPriceTable table{
  width: 100%;
  border-collapse: collapse;
}
.m_leafPriceTable th,
.m_leafPriceTable td {
  border: 2px solid #fff;
  padding: 10px 5px;
  font-size: 15px;
  font-weight: bold;
  text-align: center;
  vertical-align: middle;
  word-break: break-word;
}

/* ヘッダーデフォルト（青） */
.m_leafPriceTable thead th {
  background-color: #0E4BA5;
  color: #fff;
}

/* # プレフィックスのtdセル → 青・白文字 */
.m_leafPriceTable td.m_leafPriceTable__ttl {
  background-color: #0E4BA5;
  color: #fff;
}

/* 通常データセル → 薄グレー */
.m_leafPriceTable td.m_leafPriceTable__data {
  background-color: #F5F7F8;
  font-size: 18px;
}

/* 空セル */
.m_leafPriceTable td.m_leafPriceTable__empty {
  background-color: #f2f2f2;
}

/* （）内テキスト → 小さく（JSで付与） */
.m_leafPriceTable__sub {
  display: block !important;
  font-size: 12px !important;
}

/* =============
m_leafPriceTable--lightningAsp スコープ
※ラッパーdivに直接クラスが付くので .m_leafPriceTable は不要
============= */

/* 1段目ヘッダー：2列目 → 橙 */
.m_leafPriceTable--lightningAsp thead tr:first-child th:nth-child(2) {
  background-color: #D14700;
}

/* 2段目ヘッダー：3〜4列目 → 橙 */
.m_leafPriceTable--lightningAsp thead tr:nth-child(2) th:nth-child(n+3) {
  background-color: #D14700;
}

/* 列幅（2段目ヘッダーで指定） */
.m_leafPriceTable--lightningAsp thead tr:nth-child(2) th:nth-child(1) { width: 138px; }
.m_leafPriceTable--lightningAsp thead tr:nth-child(2) th:nth-child(2) { width: 198px; }
.m_leafPriceTable--lightningAsp thead tr:nth-child(2) th:nth-child(3) { width: 173px; }
@media screen and (max-width: 768px){
  .m_leafPriceTable--lightningAsp thead tr:nth-child(2) th:nth-child(1) {
    width: 26%;
  }
  .m_leafPriceTable--lightningAsp thead tr:nth-child(2) th:nth-child(2) {
    width: calc((100% - 26%) / 2);
  }
  .m_leafPriceTable--lightningAsp thead tr:nth-child(2) th:nth-child(3) {
    width: calc((100% - 26%) / 2);
  }
  .m_leafPriceTable--lightningAsp thead tr:nth-child(2) th:nth-child(4) {
    display: none;
  }
}

/* データ行：2列目（基本プラン月額）→ 白 */
.m_leafPriceTable--lightningAsp tbody td:nth-child(2) {
  background-color: #fff;
}

/* データ行：3列目（オプション月額）→ 薄黄 */
.m_leafPriceTable--lightningAsp tbody td:nth-child(3) {
  background-color: #FCFAEE;
  font-size: 18px;
  text-align: center;
  padding: 10px 5px;
}

/* データ行：4列目（オプション内容）→ 薄黄・左寄せ */
.m_leafPriceTable--lightningAsp tbody td:nth-child(4) {
  background-color: #FCFAEE;
  font-size: 16px;
  text-align: left;
  padding: 10px 16px;
}
@media screen and (max-width: 768px){
  .m_leafPriceTable--lightningAsp tbody td:nth-child(4) {
    display: none;
  }
}
/* rowspanセル（個別提案）→ 濃い黄・中央 */
.m_leafPriceTable--lightningAsp tbody td[rowspan]:nth-child(3) {
  background-color: #FFF29E;
  font-size: 16px;
  text-align: center;
  padding: 0 12px;
}

/* =============
レスポンシブ
============= */
@media (max-width: 768px) {
  .m_leafPriceTable th,
  .m_leafPriceTable td {
    font-size: 12px;
    padding: 8px 3px;
  }
  .m_leafPriceTable td.m_leafPriceTable__data {
    font-size: 14px;
  }
  .m_leafPriceTable--lightningAsp thead tr:nth-child(2) th {
    width: auto;
  }
  .m_leafPriceTable--lightningAsp tbody td:nth-child(3),
  .m_leafPriceTable--lightningAsp tbody td:nth-child(4) {
    font-size: 13px;
  }
}


/* 料金表内のコンテンツ */
.m_priceCont{
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  padding: 30px 18px;
}
.m_priceCont--hasBorder{
  border: 6px solid #D54A00;
}
.m_priceCont__ttl{
  margin-bottom: 20px;
  color: #143BAD;
  text-align: center;
  font-weight: bold;
  line-height: 1;
  font-size: 36px;
}
.m_priceCont__ttl a{
  color: inherit;
}
.m_priceCont__body{
  font-weight: bold;
}
.m_priceCont__msg{
  font-size: 16px;
  font-weight: 500;
  text-align: left;
}
.m_priceCont__listItem{
  position: relative;
  padding-left: 28px;
  font-size: 20px;
}
.m_priceCont__listItem::before{
  content: "";
  position: absolute;
  top: calc((1lh - 1em) / 2 - 3px);
  left: 0;
  display: block;
  width: 8px;
  height: 16px;
  border-bottom: 3px solid #143BAD;
  border-right: 3px solid #143BAD;
  transform: rotate(45deg);
}
.m_priceCont__listItem + .m_priceCont__listItem{
  margin-top: 10px;
}
.m_priceCont__note {
  margin-top: 24px;
}
.m_priceCont_noteItem {
  position: relative;
  padding-left: 28px;
  font-size: 16px;
  font-weight: bold; 
}
.m_priceCont_noteItem::before {
  position: absolute;
  left: 0;
  content: "・";
  font-size: 16px;
}
@media screen and (max-width: 768px){
  .m_priceCont__ttl{
    line-height: 1.4;
    font-size: 22px;
  }
  /* .m_priceCont__msg{
    font-size: 16px;
  } */
  .m_priceCont__listItem{
    font-size: 16px;
  }
}

/* lightningAsp脚注 */
.m_priceCont__inner--lightningAsp h3{
  margin-bottom: 20px;
  color: #143BAD;
  text-align: center;
  font-weight: bold;
  line-height: 1;
  font-size: 36px;
}
.m_priceCont__inner--lightningAsp ul + ul{
  margin-top: 24px;
}
.m_priceCont__inner--lightningAsp li{
  position: relative;
  padding-left: 28px;
  font-size: 16px;
  font-weight: bold; 
}
.m_priceCont__inner--lightningAsp li::before {
  position: absolute;
  left: 0;
  content: "・";
  font-size: 16px;
}

.m_priceCont__inner--lightningAsp li:has(strong){
  position: relative;
	display: block;
  padding-left: 28px;
  font-size: 20px;
}
.m_priceCont__inner--lightningAsp li:has(strong)::before{
  content: "";
  position: absolute;
  top: calc((1lh - 1em) / 2 - 3px);
  left: 0;
  display: block;
  width: 8px;
  height: 16px;
  border-bottom: 3px solid #143BAD;
  border-right: 3px solid #143BAD;
  transform: rotate(45deg);
}
.m_priceCont__inner--lightningAsp li:has(strong) + li{
  margin-top: 10px;
}
@media screen and (max-width: 768px){
  .m_priceCont__inner--lightningAsp h3{
    line-height: 1.4;
    font-size: 22px;
  }
  .m_priceCont__inner--lightningAsp li:has(strong){
    font-size: 16px;
  }
}

/* =============
m_leafPriceTable--basicAsp スコープ
============= */
.m_leafPriceTable--basicAsp thead th,
.m_leafPriceTable--basicAsp td.m_leafPriceTable__ttl{
  background: #00C77F;
  word-break: keep-all;
  white-space: nowrap;
}
/* データ行：2列目（料金） */
.m_leafPriceTable--basicAsp tbody td:nth-child(2) {
  word-break: keep-all;
  white-space: nowrap;
}
/* データ行：3列目（含まれる機能） */
.m_leafPriceTable--basicAsp tbody td:nth-child(3) {
  font-size: 12px;
  text-align: left;
}
.m_leafPriceTable--basicAsp tbody td:nth-child(3) li{
  position: relative;
  padding-left: 1em;
}
.m_leafPriceTable--basicAsp tbody td:nth-child(3) li::before{
  content: "・";
  position: absolute;
  left: 0;
  display: block;
}
.m_leafPriceTable--basicAsp tbody td:nth-child(3) ~ td{
  color: #00C77F;
}

@media screen and (max-width: 768px){
  .m_leafPriceTable--basicAsp thead th:nth-child(3) ~ th{
    display: none;
  }
  .m_leafPriceTable--basicAsp tbody td:nth-child(3) ~ td{
    display: none;
  }
}

.m_price__tableItem--sp{
  display: none;
}
@media screen and (max-width: 768px){
  .m_price__tableItem--sp{
    display: block;
  }
}
