.nts{--nts-bg:#07101f;--nts-panel:#0e1b2f;--nts-panel2:#10223b;--nts-line:rgba(129,163,220,.24);--nts-text:#f7fbff;--nts-muted:#a9b7ca;--nts-blue:#2f73ff;--nts-blue2:#0d3c98;--nts-yellow:#ffd900;color:var(--nts-text);background:radial-gradient(circle at 50% -20%,rgba(36,93,196,.22),transparent 42%),linear-gradient(180deg,#07101f 0%,#081424 100%);padding:clamp(28px,5vw,64px) 16px;font-family:inherit}.nts *{box-sizing:border-box}.nts button,.nts input{font:inherit}.nts__inner{width:min(1280px,100%);margin:0 auto}.nts__hero{margin-bottom:20px}.nts__title{font-size:clamp(30px,4vw,46px);line-height:1.15;margin:0 0 10px;font-weight:800;letter-spacing:.02em}.nts__lead{margin:0;color:var(--nts-muted);font-size:15px}.nts__search-row{display:grid;grid-template-columns:minmax(280px,1fr) auto auto;gap:18px;align-items:center;margin:22px 0}.nts__search{height:58px;display:flex;align-items:center;gap:14px;padding:0 20px;border:1px solid rgba(111,151,223,.5);border-radius:12px;background:rgba(5,13,26,.78);box-shadow:0 0 24px rgba(47,115,255,.16)}.nts__search input{width:100%;height:100%;border:0;outline:0;background:transparent;color:var(--nts-text);font-size:16px}.nts__search input::placeholder{color:#8f9aae}.nts__search-icon{width:20px;height:20px;border:2px solid #dce8ff;border-radius:50%;position:relative;flex:0 0 auto}.nts__search-icon:after{content:"";position:absolute;width:8px;height:2px;background:#dce8ff;right:-6px;bottom:0;transform:rotate(45deg);border-radius:10px}.nts__sort,.nts__stores{display:flex;padding:4px;border:1px solid var(--nts-line);border-radius:10px;background:rgba(8,17,32,.64)}.nts__seg,.nts__store{min-height:40px;padding:0 18px;color:#dfe8f8;background:transparent;border:0;border-radius:7px;cursor:pointer;white-space:nowrap}.nts__seg.is-active,.nts__store.is-active{background:linear-gradient(180deg,#17499f,#0e347d);box-shadow:inset 0 0 0 1px rgba(74,139,255,.35);font-weight:700}.nts__selected{margin:4px 0 24px}.nts__selected-head{display:flex;align-items:center;gap:14px;margin-bottom:10px;font-weight:700}.nts__selected-head button{border:0;background:transparent;color:#4f8cff;cursor:pointer}.nts__selected-list{display:flex;flex-wrap:wrap;gap:10px}.nts__selected-chip{display:inline-flex;align-items:center;gap:10px;height:34px;padding:0 14px;border:1px solid rgba(91,137,213,.52);border-radius:999px;background:rgba(33,82,174,.24);color:#fff}.nts__selected-chip button{border:0;background:transparent;color:#6ea0ff;font-size:18px;line-height:1;cursor:pointer}.nts__tags-section,.nts__results{border-top:1px solid rgba(129,163,220,.18);padding-top:22px}.nts__section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.nts__section-head>div:first-child{display:flex;align-items:baseline;gap:16px}.nts__section-head h2{margin:0;font-size:22px;line-height:1.3}.nts__section-head span{color:var(--nts-muted);font-size:14px}.nts__view-toggle{display:flex;gap:8px}.nts__view-toggle span{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--nts-line);border-radius:9px;background:rgba(9,20,38,.75);color:#d9e6fb}.nts__view-toggle .is-active{background:linear-gradient(180deg,#1d59ba,#123f91);color:#fff}.nts__tag-grid{display:flex;flex-wrap:wrap;gap:8px}.nts__tag{width:auto;max-width:100%;min-width:max-content;height:34px;display:inline-flex;align-items:center;gap:10px;justify-content:flex-start;padding:0 12px;border:1px solid rgba(129,163,220,.22);border-radius:7px;background:rgba(12,24,43,.82);color:#f2f7ff;cursor:pointer;transition:.18s ease;box-shadow:0 8px 18px rgba(0,0,0,.08)}.nts__tag:hover{border-color:rgba(94,148,255,.65);transform:translateY(-1px)}.nts__tag.is-active{background:linear-gradient(180deg,#1b5ac2,#113b8d);border-color:#4b8dff}.nts__tag-check{display:none;width:18px;height:18px;place-items:center;flex:0 0 auto;border-radius:999px;background:#e7f0ff;color:#1746a0;font-weight:900;font-size:12px}.nts__tag.is-active .nts__tag-check{display:grid}.nts__tag-name{overflow:visible;text-overflow:clip;white-space:nowrap;font-weight:700;font-size:13px}.nts__tag-count{font-size:12px;color:#cbd7ec;flex:0 0 auto}.nts__more-tags,.nts__more-results{width:100%;height:46px;margin-top:14px;border:1px solid var(--nts-line);border-radius:10px;background:rgba(10,22,40,.84);color:#fff;cursor:pointer}.nts__more-tags span{display:none}.nts__results{margin-top:24px}.nts__cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.nts-card{overflow:hidden;border:1px solid rgba(79,138,231,.55);border-radius:12px;background:#10243d;box-shadow:0 16px 34px rgba(0,0,0,.26)}.nts-card__thumb{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;border-bottom:3px solid #5534a3}.nts-card__thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .28s ease}.nts-card:hover .nts-card__thumb img{transform:scale(1.035)}.nts-card__new{position:absolute;left:10px;top:10px;padding:3px 8px;border-radius:6px;background:#34a9ff;color:#fff;font-size:12px;font-weight:800}.nts-card__tier{position:absolute;right:12px;bottom:12px;width:58px;height:58px;display:grid;place-items:center;border-radius:10px;background:#3b1d73;color:#fff;text-align:center;box-shadow:0 0 0 1px rgba(255,255,255,.2) inset}.nts-card__tier b{font-size:24px;line-height:1}.nts-card__tier small{font-size:10px;letter-spacing:.08em}.nts-card__body{padding:16px 18px 14px}.nts-card h3{margin:0 0 12px;font-size:16px;line-height:1.35}.nts-card h3 a{color:#fff;text-decoration:none}.nts-card__badges{display:flex;flex-wrap:wrap;gap:7px;padding-top:12px;border-top:1px solid rgba(139,174,228,.28);min-height:64px}.nts-card__badges span{display:inline-flex;align-items:center;height:26px;padding:0 10px;border:1px solid rgba(204,220,248,.48);border-radius:999px;color:#fff;background:rgba(15,30,52,.78);font-size:12px}.nts-card__badges .nts-card__store{border-color:#7c65ff;background:#332173}.nts-card__meta{display:grid;grid-template-columns:1fr 1fr 1fr;margin-top:14px;border-top:1px solid rgba(139,174,228,.18)}.nts-card__meta div{padding-top:12px;text-align:center;border-right:1px solid rgba(139,174,228,.18)}.nts-card__meta div:last-child{border-right:0}.nts-card__meta span{display:block;color:#c0ccdd;font-size:11px}.nts-card__meta strong{display:block;margin-top:4px;font-size:16px;line-height:1.1;color:#fff}.nts-card__score{color:var(--nts-yellow)!important;font-size:22px!important}.nts__empty{grid-column:1/-1;color:var(--nts-muted);padding:18px;border:1px solid var(--nts-line);border-radius:10px;background:rgba(12,24,43,.6)}.nts__sticky{display:none}
@media (max-width:1100px){.nts__search-row{grid-template-columns:1fr}.nts__sort,.nts__stores{width:fit-content}.nts__cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.nts{padding:28px 12px 96px}.nts__lead{font-size:14px}.nts__search{height:56px;padding:0 16px}.nts__search-row{gap:14px;margin:18px 0}.nts__sort{width:100%;display:grid;grid-template-columns:repeat(3,1fr)}.nts__seg{padding:0 8px}.nts__stores{width:100%;overflow:auto}.nts__store{min-width:96px}.nts__selected-head{justify-content:space-between}.nts__tag-grid{gap:9px}.nts__tag{min-width:calc(50% - 5px);height:56px;border-radius:10px;padding:0 14px}.nts__tag-name{font-size:15px}.nts__tag-count{font-size:14px}.nts__cards{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:4px}.nts-card{min-width:82%;scroll-snap-align:start}.nts-card__meta{display:none}.nts__sticky{position:fixed;left:0;right:0;bottom:0;z-index:40;display:block;padding:12px 14px calc(12px + env(safe-area-inset-bottom));background:linear-gradient(180deg,transparent,rgba(4,10,20,.92) 18%,rgba(4,10,20,.98))}.nts__sticky button{width:100%;height:58px;border:1px solid #3d8aff;border-radius:12px;background:linear-gradient(180deg,#1462d4,#0b3a95);color:#fff;font-size:18px;font-weight:800;box-shadow:0 0 22px rgba(47,115,255,.38);cursor:pointer}.nts__section-head h2{font-size:21px}.nts__section-head>div:first-child{gap:10px}.nts__view-toggle span{width:40px;height:40px}.nts__more-results{display:none}}

/* v1.0.1: SWELL本文幅から脱出し、タグ画面専用の横幅を確保 */
.nts[data-nts-root]{
  width:min(1200px,calc(100vw - 32px));
  max-width:none;
  margin-left:50%;
  transform:translateX(-50%);
  border-radius:0;
}
.nts[data-nts-root] .nts__inner{width:100%;max-width:1200px}
body.nts-page .c-pageTitle,
body:has(.nts[data-nts-root]) .c-pageTitle{display:none!important}
body.nts-page .l-mainContent__inner>.post_content,
body:has(.nts[data-nts-root]) .l-mainContent__inner>.post_content{margin-top:0!important}
body.nts-page .p-breadcrumb,
body:has(.nts[data-nts-root]) .p-breadcrumb{display:none!important}

/* タグ一覧は初期表示を絞り、もっと見るで展開 */
.nts:not(.is-tags-expanded) .nts__tag-grid .nts__tag:nth-child(n+61){display:none}
.nts.is-tags-expanded .nts__tag-grid .nts__tag{display:flex}

/* トップページの cal-card 構造をタグ検索結果でも使う */
.nts__cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch}
.nts .cal-card{position:relative;overflow:hidden;border:1px solid rgba(64,139,232,.85);border-radius:12px;background:#10243d;box-shadow:0 12px 26px rgba(0,0,0,.24)}
.nts .cal-card-link{display:flex;flex-direction:column;height:100%;color:inherit;text-decoration:none}
.nts .cal-thumb{position:relative;overflow:hidden;aspect-ratio:16/9;border-bottom:3px solid #6d2bd7;background:#0a1528}
.nts .cal-thumb-img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s ease}
.nts .cal-card:hover .cal-thumb-img{transform:scale(1.04)}
.nts .cal-new-badge{position:absolute;left:9px;top:9px;z-index:2;display:inline-flex;align-items:center;height:24px;padding:0 8px;border-radius:6px;background:linear-gradient(180deg,#42b7ff,#1689f2);color:#fff;font-size:12px;font-weight:800;line-height:1;box-shadow:0 0 0 1px rgba(255,255,255,.32) inset}
.nts .cal-tier-badge{position:absolute;right:12px;bottom:12px;z-index:2;width:58px;height:58px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:10px;background:#3b1d73;color:#fff;text-align:center;box-shadow:0 0 0 1px rgba(255,255,255,.22) inset,0 6px 18px rgba(0,0,0,.32)}
.nts .cal-tier-badge strong{display:block;font-size:24px;line-height:1;font-weight:800}
.nts .cal-tier-badge small{display:block;margin-top:2px;font-size:10px;line-height:1;letter-spacing:.08em}
.nts .cal-tier-s{background:#b45309}.nts .cal-tier-a{background:#4c1d95}.nts .cal-tier-b{background:#1e3a8a}.nts .cal-tier-c{background:#365314}.nts .cal-tier-d{background:#3f3f46}
.nts .cal-body{display:flex;flex-direction:column;flex:1;padding:16px 18px 14px;background:#10243d}
.nts .cal-title{margin:0 0 12px!important;padding:0!important;border:0!important;background:none!important;color:#fff;font-size:16px!important;line-height:1.35;font-weight:800;min-height:1.35em}
.nts .cal-title:before,.nts .cal-title:after{content:none!important}
.nts .cal-chip-row{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 8px;padding:0}
.nts .cal-primary-chips{padding-top:12px;border-top:1px solid rgba(139,174,228,.28)}
.nts .cal-tag-chips{min-height:31px}
.nts .cal-chip{display:inline-flex;align-items:center;max-width:100%;height:26px;padding:0 10px;border:1px solid rgba(204,220,248,.48);border-radius:999px;background:rgba(15,30,52,.78);color:#fff;font-size:12px;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nts .cal-chip-platform{border-color:#7c65ff;background:#332173;color:#fff}
.nts .cal-chip-genre{border-color:rgba(122,151,255,.75);background:#1f2e5f;color:#fff}
.nts .cal-chip-tag{background:rgba(15,30,52,.78)}
.nts .cal-meta{display:grid;grid-template-columns:repeat(3,1fr);margin-top:auto;padding-top:12px;border-top:1px solid rgba(139,174,228,.18)}
.nts .cal-meta-item{text-align:center;border-right:1px solid rgba(139,174,228,.18)}
.nts .cal-meta-item:last-child{border-right:0}
.nts .cal-meta-label{display:block;color:#c0ccdd;font-size:11px;line-height:1.25}
.nts .cal-meta-value{display:block;margin-top:4px;color:#fff;font-size:16px;line-height:1.1;font-weight:800}
.nts .cal-score-value{color:#ffd900!important;font-size:22px!important;text-shadow:0 0 10px rgba(255,217,0,.25)}

@media (max-width:1100px){
  .nts[data-nts-root]{width:min(100%,calc(100vw - 24px))}
  .nts__cards{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  .nts[data-nts-root]{width:100%;margin-left:0;transform:none;padding-left:12px;padding-right:12px}
  .nts:not(.is-tags-expanded) .nts__tag-grid .nts__tag:nth-child(n+25){display:none}
  .nts__cards{display:flex;grid-template-columns:none;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;padding-bottom:6px}
  .nts .cal-card{min-width:82%;scroll-snap-align:start}
  .nts .cal-body{padding:12px 14px}
  .nts .cal-title{font-size:14px!important}
  .nts .cal-meta{display:none}
}


/* v1.0.4: SP controls and tag chips refinement */
@media (max-width:640px){
  .nts__search-row{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:12px;
  }
  .nts__sort,
  .nts__stores{
    width:100%;
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    overflow:visible;
  }
  .nts__seg,
  .nts__store{
    min-width:auto;
    width:auto;
    flex:0 0 auto;
    min-height:36px;
    height:36px;
    padding:0 14px;
    border:1px solid rgba(129,163,220,.32);
    border-radius:999px;
    background:rgba(10,22,40,.82);
    font-size:13px;
    line-height:1;
  }
  .nts__seg.is-active,
  .nts__store.is-active{
    background:linear-gradient(180deg,#1d59ba,#123f91);
    border-color:rgba(74,139,255,.7);
  }
  .nts__tag-grid{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
  }
  .nts__tag{
    min-width:auto;
    width:auto;
    height:42px;
    min-height:42px;
    border-radius:999px;
    padding:0 13px;
    gap:8px;
  }
  .nts__tag-name{
    font-size:13px;
    line-height:1;
  }
  .nts__tag-count{
    font-size:12px;
    line-height:1;
  }
  .nts__tag-check{
    width:16px;
    height:16px;
    font-size:11px;
  }
}


/* v1.0.5: SP results/cards/footer usability */
body.nts-page #pagetop,
body:has(.nts[data-nts-root]) #pagetop{
  display:none!important;
}

@media (max-width:640px){
  .nts[data-nts-root]{
    padding-bottom:20px;
  }
  .nts__cards{
    display:grid!important;
    grid-template-columns:1fr!important;
    overflow:visible!important;
    scroll-snap-type:none!important;
    gap:16px;
    padding-bottom:0;
  }
  .nts .cal-card{
    min-width:0!important;
    width:100%;
    scroll-snap-align:none!important;
  }
  .nts .cal-thumb{
    aspect-ratio:16/9;
  }
  .nts__sticky{
    position:sticky!important;
    left:auto;
    right:auto;
    bottom:0;
    z-index:20;
    margin:18px -4px -4px;
    padding:10px 0 calc(10px + env(safe-area-inset-bottom));
    background:linear-gradient(180deg,transparent,rgba(4,10,20,.9) 28%,rgba(4,10,20,.98));
  }
  .nts__sticky button{
    height:54px;
    font-size:16px;
    border-radius:12px;
  }
  .nts__tag{
    height:38px;
    min-height:38px;
    padding:0 12px;
  }
  .nts__tag-name{
    font-size:12.5px;
  }
  .nts__tag-count{
    font-size:11px;
  }
}
