/* V151 public production polish */
:root{--ntc-red:#e60023;--ntc-red-dark:#b8001c;--ntc-ink:#111827;--ntc-muted:#64748b;--ntc-soft:#fff5f7;--ntc-line:#edf0f6;--ntc-card:#ffffff}
.with-public-nav{background:#fff}
.ntc169-hero,.ntc169-products-hero,.ntc169-detail-hero,.ntc151-contact-hero{position:relative;overflow:hidden;background:radial-gradient(circle at 80% 20%,rgba(230,0,35,.11),transparent 34%),linear-gradient(180deg,#fff 0%,#fff7f8 100%)}
.ntc169-hero-inner,.ntc169-products-inner,.ntc169-detail-inner{min-height:520px;display:flex;align-items:center}
.ntc169-copy,.ntc169-products-copy,.ntc169-detail-copy,.ntc151-contact-copy{max-width:720px;position:relative;z-index:2}
.ntc169-copy h1,.ntc169-products-copy h1,.ntc169-detail-copy h1,.ntc151-contact-copy h1{font-weight:950;letter-spacing:-.055em;color:var(--ntc-ink);line-height:1.05}
.ntc169-copy h1{font-size:clamp(2.8rem,7vw,5.8rem)}.ntc169-products-copy h1,.ntc169-detail-copy h1,.ntc151-contact-copy h1{font-size:clamp(2.4rem,6vw,4.8rem)}
.ntc169-copy p,.ntc169-products-copy p,.ntc169-detail-copy p,.ntc151-contact-copy p{font-size:clamp(1rem,1.6vw,1.18rem);line-height:1.9;color:#475569;max-width:720px}
.ntc169-eyebrow{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .8rem;border-radius:999px;background:#fff;border:1px solid rgba(230,0,35,.14);color:var(--ntc-red);font-weight:950;box-shadow:0 10px 28px rgba(230,0,35,.06)}
.ntc169-btn.primary,.ntc169-apply-btn,.nn141-gtn-apply{background:linear-gradient(135deg,var(--ntc-red),#c9001f)!important;color:#fff!important;border:0!important;box-shadow:0 18px 34px rgba(230,0,35,.22)!important;text-decoration:none!important}
.ntc169-btn.primary:hover,.ntc169-apply-btn:hover,.nn141-gtn-apply:hover{transform:translateY(-1px);filter:saturate(1.05)}
.nn141-pricing{padding:clamp(48px,7vw,88px) 0;background:#fff}
.nn141-tabs-gtn{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin:0 auto 34px}.nn141-tab{border:1px solid #f1d5da;background:#fff;border-radius:999px;padding:12px 22px;font-weight:950;color:#334155;box-shadow:0 10px 24px rgba(15,23,42,.04)}.nn141-tab.active{background:var(--ntc-red);border-color:var(--ntc-red);color:#fff;box-shadow:0 18px 36px rgba(230,0,35,.22)}
.nn141-card-grid-gtn{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.nn141-gtn-card{min-width:0}.nn141-gtn-card-inner{height:100%;background:#fff;border:1px solid var(--ntc-line);border-radius:30px;padding:30px;box-shadow:0 22px 55px rgba(15,23,42,.08);display:flex;flex-direction:column;gap:18px}.nn141-gtn-card h3{font-size:1.35rem;font-weight:950;letter-spacing:-.035em;margin:0;color:var(--ntc-ink)}.nn141-gtn-desc{color:#64748b;line-height:1.8;min-height:3.2em;margin:0}.nn141-gtn-price{display:flex;align-items:flex-end;gap:.45rem}.nn141-gtn-price strong{font-size:clamp(2rem,4vw,3.2rem);line-height:1;font-weight:950;color:var(--ntc-red);letter-spacing:-.06em}.nn141-gtn-price span{font-weight:900;color:#475569;margin-bottom:.25rem}.nn141-gtn-apply{display:flex;align-items:center;justify-content:center;border-radius:18px;min-height:54px;font-weight:950}.nn141-gtn-line{display:flex;gap:.55rem;align-items:center;font-weight:900;color:#334155}.nn141-gtn-badges{display:flex;gap:8px;flex-wrap:wrap;min-height:0}.nn141-gtn-badges:empty{display:none}.nn141-gtn-badges .badge{border-radius:999px;background:#fff5f7!important;color:#b8001c!important;border:1px solid #ffd9df;padding:.48rem .72rem}.nn141-gtn-detail{font-weight:950;color:var(--ntc-red);text-decoration:none;margin-top:auto}.nn141-empty{background:#fff;border:1px solid var(--ntc-line);border-radius:24px;padding:28px;text-align:center;color:#64748b;box-shadow:0 14px 34px rgba(15,23,42,.04)}.nn141-empty strong{display:block;color:#111827;margin-bottom:6px}.nn141-gtn-note{text-align:center;color:#64748b;font-weight:800;margin:28px 0 0}
.ntc169-detail-price,.ntc169-products-price,.ntc169-price-line{display:inline-flex!important;align-items:flex-end!important;gap:.55rem!important;background:#fff!important;border:1px solid #f5d0d8!important;border-radius:24px!important;padding:14px 18px!important;box-shadow:0 20px 38px rgba(230,0,35,.08)!important}.ntc169-detail-price strong,.ntc169-products-price strong,.ntc169-price-line strong{color:var(--ntc-red)!important;font-size:clamp(2rem,4vw,3.4rem)!important;line-height:1!important;letter-spacing:-.06em!important}.ntc169-detail-price span,.ntc169-products-price span,.ntc169-price-line span{font-weight:950;color:#64748b;margin-bottom:.28rem}.ntc169-detail-price em,.ntc169-products-price em,.ntc169-price-line em{font-style:normal;font-weight:950;color:#64748b;margin-bottom:.28rem}
.ntc169-detail-points{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.ntc169-detail-points>div{background:#fff;border:1px solid var(--ntc-line);border-radius:26px;padding:26px;box-shadow:0 16px 40px rgba(15,23,42,.06)}.ntc169-detail-points i{width:48px;height:48px;border-radius:16px;display:inline-flex;align-items:center;justify-content:center;background:#fff5f7;color:var(--ntc-red);font-size:1.35rem;margin-bottom:14px}.ntc169-detail-points strong{display:block;font-weight:950;color:var(--ntc-ink);font-size:1.05rem;margin-bottom:6px}.ntc169-detail-points p{color:#64748b;line-height:1.75;margin:0}
.ntc147-plan-table-wrap{overflow:hidden!important;border:1px solid #e8edf5!important;border-radius:32px!important;background:#fff!important;box-shadow:0 30px 75px rgba(15,23,42,.08)!important}.ntc147-plan-table{width:100%!important;border-collapse:separate!important;border-spacing:0!important;table-layout:fixed!important;margin:0!important;background:#fff!important}.ntc147-plan-table thead th{background:#f6f8fb!important;color:#111827!important;font-weight:950!important;font-size:1rem!important;letter-spacing:-.02em!important;text-align:center!important;padding:24px 18px!important;border:0!important}.ntc147-plan-table tbody td{vertical-align:middle!important;padding:26px 22px!important;border-top:1px solid #eef2f7!important;color:#1f2937!important;font-weight:850!important}.ntc147-plan-table tbody tr:nth-child(even) td{background:#fcfdff!important}.ntc147-col-apply{width:18%!important}.ntc147-col-name{width:39%!important}.ntc147-col-data{width:21%!important}.ntc147-col-price{width:22%!important}.ntc147-plan-name{text-align:left!important}.ntc147-plan-name strong{font-size:1.22rem!important;letter-spacing:-.03em!important;color:#111827!important;word-break:break-word!important}.ntc147-data-cell{text-align:center!important;font-size:1.05rem!important;color:#334155!important}.ntc147-price-cell{text-align:right!important}.ntc147-price-cell .ntc169-price{font-size:clamp(1.4rem,2.3vw,2.05rem)!important;color:var(--ntc-red)!important;font-weight:950!important;white-space:nowrap!important;letter-spacing:-.04em!important}.ntc169-apply-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:126px!important;min-height:52px!important;border-radius:20px!important;padding:0 22px!important;font-weight:950!important;white-space:nowrap!important}
.ntc151-flow-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.ntc151-flow-grid>div{background:#fff;border:1px solid var(--ntc-line);border-radius:24px;padding:24px;box-shadow:0 14px 34px rgba(15,23,42,.05)}.ntc151-flow-grid b{display:inline-flex;width:42px;height:42px;align-items:center;justify-content:center;border-radius:14px;background:#fff5f7;color:var(--ntc-red);font-weight:950;margin-bottom:14px}.ntc151-flow-grid strong{display:block;font-weight:950;color:#111827;margin-bottom:8px}.ntc151-flow-grid p{color:#64748b;line-height:1.75;margin:0}.ntc151-flow-section{background:linear-gradient(180deg,#fff 0%,#fff7f8 100%)}
.ntc151-contact-hero{padding:clamp(70px,9vw,120px) 0 70px}.ntc151-contact-card{background:#fff;border:1px solid var(--ntc-line);border-radius:32px;box-shadow:0 24px 60px rgba(15,23,42,.08);padding:30px}.ntc151-contact-card h2{font-weight:950;letter-spacing:-.04em;margin-bottom:22px}.ntc151-contact-list{display:grid;gap:14px;margin-bottom:22px}.ntc151-contact-list div{display:flex;gap:12px;align-items:center;color:#334155;font-weight:850}.ntc151-contact-list i{width:42px;height:42px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;background:#fff5f7;color:var(--ntc-red)}.ntc151-contact-note{background:#fff8f9;border:1px solid #ffe1e6;border-radius:18px;padding:16px;color:#64748b;line-height:1.75;font-weight:700;margin-bottom:18px}.ntc151-outline-link{display:inline-flex;align-items:center;justify-content:center;border:1px solid #f1b8c2;border-radius:999px;padding:12px 18px;color:var(--ntc-red);font-weight:950;text-decoration:none}.ntc151-contact-card .form-control{border-radius:16px;border-color:#dbe3ef;min-height:52px}.ntc151-contact-card textarea.form-control{min-height:170px}.ntc151-contact-card .form-label{font-weight:900;color:#334155}.ntc151-contact-section{background:#fff}
.v179-status-area{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important}
@media(max-width:991.98px){.nn141-card-grid-gtn{grid-template-columns:1fr}.ntc169-hero-inner,.ntc169-products-inner,.ntc169-detail-inner{min-height:auto;padding:72px 0}.ntc169-detail-points,.ntc151-flow-grid{grid-template-columns:1fr}.ntc147-plan-table-wrap{border-radius:24px!important;overflow:visible!important;background:transparent!important;border:0!important;box-shadow:none!important}.ntc147-plan-table,.ntc147-plan-table thead,.ntc147-plan-table tbody,.ntc147-plan-table tr,.ntc147-plan-table th,.ntc147-plan-table td{display:block!important;width:100%!important}.ntc147-plan-table thead{display:none!important}.ntc147-plan-table tbody tr{background:#fff!important;border:1px solid #e8edf5!important;border-radius:24px!important;margin-bottom:16px!important;box-shadow:0 18px 44px rgba(15,23,42,.07)!important;overflow:hidden!important}.ntc147-plan-table tbody td{border:0!important;border-bottom:1px solid #eef2f7!important;padding:16px 18px!important;text-align:left!important;background:#fff!important}.ntc147-plan-table tbody td:last-child{border-bottom:0!important}.ntc147-plan-table tbody td::before{display:block;font-size:.78rem;color:#64748b;font-weight:950;margin-bottom:5px}.ntc147-plan-table tbody td:nth-child(1)::before{content:'申込'}.ntc147-plan-table tbody td:nth-child(2)::before{content:'プラン'}.ntc147-plan-table tbody td:nth-child(3)::before{content:'データ容量'}.ntc147-plan-table tbody td:nth-child(4)::before{content:'月額料金'}.ntc169-apply-btn{width:100%!important}.ntc147-price-cell .ntc169-price{font-size:1.75rem!important}.v179-status-area{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:575.98px){.ntc151-contact-card{padding:22px;border-radius:24px}.ntc169-copy h1,.ntc169-products-copy h1,.ntc169-detail-copy h1,.ntc151-contact-copy h1{font-size:2.35rem}.v179-status-area{grid-template-columns:1fr!important}}


/* v152 public release polish */
/* restore hero photos removed by late overrides */
.ntc169-hero{
  background:
    linear-gradient(90deg,rgba(255,255,255,.08) 0%,rgba(255,255,255,.24) 28%,rgba(255,255,255,.66) 48%,rgba(255,255,255,.94) 64%,#fff 100%),
    url('../img/hero-woman-laptop.jpg') left center/cover no-repeat,
    linear-gradient(180deg,#fff,#fff7f9)!important;
}
.ntc169-products-hero{
  background:
    linear-gradient(90deg,rgba(255,255,255,.08) 0%,rgba(255,255,255,.22) 28%,rgba(255,255,255,.64) 48%,rgba(255,255,255,.94) 64%,#fff 100%),
    url('../img/hero-woman-laptop.jpg') left center/cover no-repeat,
    linear-gradient(180deg,#fff,#fff7f9)!important;
}
.ntc169-detail-hero,
.ntc144-home-style-hero{
  background:
    linear-gradient(90deg,rgba(255,255,255,.08) 0%,rgba(255,255,255,.22) 28%,rgba(255,255,255,.64) 48%,rgba(255,255,255,.94) 64%,#fff 100%),
    var(--detail-bg) left center/cover no-repeat,
    linear-gradient(180deg,#fff,#fff7f9)!important;
}
/* cleaner public nav */
.nn-public-brand-v123.ntc152-brand-clean{
  gap:12px!important;
  max-width:none!important;
  text-decoration:none!important;
}
.ntc152-brand-dot{
  width:14px;height:14px;border-radius:999px;display:inline-block;flex:0 0 14px;
  background:linear-gradient(135deg,#e60023,#ff5b6f);box-shadow:0 0 0 5px rgba(230,0,35,.08);
}
.nn-public-brand-v123.ntc152-brand-clean .nn-public-brand-text-v123,
.nn-public-brand-v123.ntc152-brand-clean .brand-name-text{
  font-size:clamp(1.18rem,1.8vw,1.55rem)!important;
  font-weight:1000!important;
  color:#111827!important;
  letter-spacing:-.04em!important;
  max-width:none!important;
  overflow:visible!important;
}
.nn-public-brand-v123.ntc152-brand-clean .nn-public-brand-mark-v123,
.nn-public-brand-v123.ntc152-brand-clean .brand-mark{display:none!important}
/* keep needed notices concise */
.ntc152-pricing-note{
  max-width:980px;margin:18px auto 0;text-align:center;
  color:#667085;font-size:14px;line-height:1.8;font-weight:800;
}
/* slightly balance pricing table */
.ntc147-col-apply{width:17%!important}
.ntc147-col-name{width:35%!important}
.ntc147-col-data{width:22%!important}
.ntc147-col-price{width:26%!important}
.ntc147-plan-table thead th{padding:24px 16px!important}
.ntc147-plan-table tbody td{padding:24px 18px!important}
.ntc147-plan-name strong{font-size:1.18rem!important}
.ntc147-price-cell{text-align:center!important}
/* mobile hero */
@media(max-width:1100px){
  .ntc169-hero,.ntc169-products-hero,.ntc169-detail-hero,.ntc144-home-style-hero{
    background:
      linear-gradient(180deg,rgba(255,255,255,.70),rgba(255,255,255,.95) 58%,#fff 100%),
      var(--detail-bg, url('../img/hero-woman-laptop.jpg')) center top/cover no-repeat!important;
  }
  .ntc169-hero{background:
      linear-gradient(180deg,rgba(255,255,255,.70),rgba(255,255,255,.95) 58%,#fff 100%),
      url('../img/hero-woman-laptop.jpg') center top/cover no-repeat!important;}
  .ntc169-products-hero{background:
      linear-gradient(180deg,rgba(255,255,255,.70),rgba(255,255,255,.95) 58%,#fff 100%),
      url('../img/hero-woman-laptop.jpg') center top/cover no-repeat!important;}
}
@media(max-width:991.98px){
  .nn-public-brand-v123.ntc152-brand-clean .nn-public-brand-text-v123,
  .nn-public-brand-v123.ntc152-brand-clean .brand-name-text{font-size:1.08rem!important;max-width:calc(100vw - 126px)!important;overflow:hidden!important;text-overflow:ellipsis!important}
}


/* v153 pricing cards redesign inspired by reference */
.nn141-pricing-v2{padding:56px 0 88px!important;background:#fff!important}
.nn141-pricing-v2 .container{max-width:1240px!important}
.nn141-title-compact{margin-bottom:24px!important;text-align:center}
.nn141-title-compact h2{font-size:clamp(30px,4vw,44px)!important;font-weight:1000!important;letter-spacing:-.05em!important;color:#111827!important}
.nn141-tabs-gtn{
  max-width:1210px!important;
  margin:0 auto 26px!important;
  padding:0!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px!important;
  background:transparent!important;
  border-radius:0!important;
  box-shadow:none!important;
  border-bottom:3px solid #e60023!important;
}
.nn141-tab{
  min-height:58px!important;
  border:1px solid #e7eaf0!important;
  border-bottom:0!important;
  border-radius:18px 18px 0 0!important;
  background:#f5f7fa!important;
  color:#202939!important;
  font-weight:950!important;
  box-shadow:none!important;
}
.nn141-tab span{display:block;line-height:1.15}
.nn141-tab.active{
  background:#fff!important;
  color:#e60023!important;
  border-color:#e60023!important;
  box-shadow:0 -8px 24px rgba(230,0,35,.06)!important;
}
.nn141-panel{padding-top:16px}
.nn141-card-grid-gtn{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(280px,320px))!important;
  justify-content:center!important;
  gap:22px!important;
}
.nn141-gtn-card{
  min-width:0!important;
  max-width:320px!important;
  width:100%!important;
}
.nn141-gtn-card-inner{
  height:100%!important;
  padding:22px 24px 20px!important;
  border-radius:24px!important;
  border:1px solid #e7eaf0!important;
  box-shadow:none!important;
  background:#fff!important;
  gap:14px!important;
}
.nn141-gtn-card h3{
  font-size:19px!important;
  line-height:1.35!important;
  font-weight:1000!important;
  letter-spacing:-.03em!important;
  color:#111827!important;
  margin:0!important;
  min-height:52px!important;
}
.nn141-gtn-desc{
  min-height:44px!important;
  margin:0!important;
  color:#667085!important;
  font-size:14px!important;
  line-height:1.65!important;
}
.nn141-gtn-price{
  margin:4px 0 4px!important;
  align-items:flex-end!important;
  gap:6px!important;
}
.nn141-gtn-price strong{
  font-size:28px!important;
  color:#111827!important;
  letter-spacing:-.05em!important;
}
.nn141-gtn-price span{
  color:#667085!important;
  font-size:14px!important;
  font-weight:900!important;
  padding-bottom:3px!important;
}
.nn141-gtn-apply{
  min-height:50px!important;
  border-radius:999px!important;
  font-size:15px!important;
  box-shadow:0 14px 28px rgba(230,0,35,.16)!important;
  margin-bottom:6px!important;
}
.nn141-gtn-info{
  margin-top:4px!important;
  display:grid!important;
  gap:12px!important;
}
.nn141-gtn-line{
  color:#344054!important;
  font-size:14px!important;
  font-weight:900!important;
}
.nn141-gtn-line i{color:#98a2b3!important;font-size:14px!important}
.nn141-gtn-badges{display:flex!important;gap:8px!important;flex-wrap:wrap!important;min-height:0!important}
.nn141-gtn-badges:empty{display:none!important}
.nn141-gtn-badges .badge{
  border-radius:999px!important;
  padding:5px 12px!important;
  font-size:12px!important;
  font-weight:950!important;
  border:1px solid #ffd7de!important;
  background:#fff7f8!important;
  color:#e60023!important;
}
.nn141-gtn-detail{
  margin-top:auto!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  color:#e60023!important;
  font-size:14px!important;
  font-weight:950!important;
  text-decoration:none!important;
}
.nn141-gtn-detail::after{content:'›';font-size:16px;line-height:1}
.nn141-gtn-note{
  margin:20px 0 0!important;
  text-align:center!important;
  color:#667085!important;
  font-weight:800!important;
  font-size:14px!important;
}
.nn141-empty{
  max-width:760px!important;
  margin:0 auto!important;
  border-radius:22px!important;
  border:1px solid #e7eaf0!important;
  box-shadow:none!important;
  background:#fff!important;
}
@media(max-width:991.98px){
  .nn141-tabs-gtn{grid-template-columns:1fr!important;gap:10px!important;border-bottom:0!important}
  .nn141-tab{border-bottom:1px solid #e7eaf0!important;border-radius:16px!important}
  .nn141-tab.active{background:#e60023!important;color:#fff!important;border-color:#e60023!important}
  .nn141-card-grid-gtn{grid-template-columns:1fr!important;justify-content:stretch!important}
  .nn141-gtn-card{max-width:none!important}
  .nn141-gtn-card-inner{border-radius:22px!important}
}
