/* Local interactive UI and imported page layout. */
.local-dialog { max-width: min(44rem, 90vw); }
.local-dialog video { max-width: 100%; }
.local-dialog::backdrop { background: rgb(0 0 0 / 0.4); }
.photo-grid__img { display: block; max-width: 100%; height: auto; object-fit: contain; }
.site-header { color: #fff; background: #09090a; }
.site-header__top { display: flex; align-items: center; gap: clamp(1rem, 3vw, 2.5rem); width: min(100%, 1420px); min-height: 76px; margin: 0 auto; padding: .7rem clamp(1rem, 3vw, 2rem); }
.site-header__logo { flex: 0 0 auto; margin: 0; padding: 0; }
.site-header__logo-link { display: inline-flex; align-items: baseline; color: #fff; text-decoration: none; }
.site-header__name { padding: 0; color: #fff; font-size: clamp(1.15rem, 2vw, 1.55rem); font-style: normal; font-weight: 800; letter-spacing: -.04em; white-space: nowrap; }
.site-header__name::first-letter { color: var(--page-accent); }
.site-header__catch { color: #e1e7eb; font-size: .9rem; font-weight: 600; }
.site-header__search { width: min(100%, 47rem); margin-left: auto; }
.site-header__search .header-search { display: flex; gap: 0; width: 100%; margin: 0; }
.site-header__search .header-search__input { width: 100%; min-width: 0; min-height: 44px; padding: .55rem .8rem; border: 1px solid #d8d8da; border-radius: .35rem 0 0 .35rem; color: #222; background: #fff; }
.site-header__search .header-search__submit { min-width: 4rem; padding: .42rem .8rem; border: 0; border-radius: 0 .35rem .35rem 0; color: var(--page-accent-ink); background: var(--page-accent); font-weight: 750; white-space: nowrap; cursor: pointer; }
.site-header__search .header-search__submit:hover { background: #f39acb; }
.site-nav { border-top: 1px solid #242426; background: #171719; }
.site-nav__list { display: flex; flex-wrap: wrap; align-items: stretch; gap: 0 clamp(.5rem, 2vw, 1.8rem); width: min(100%, 1420px); min-height: 52px; margin: 0 auto; padding: 0 clamp(1rem, 3vw, 2rem); list-style: none; }
.site-nav__link { display: flex; min-height: 52px; align-items: center; padding: .35rem .5rem; border-bottom: 3px solid transparent; color: #f6f6f7; font-size: .95rem; font-weight: 700; text-decoration: none; }
.site-nav__link:hover, .site-nav__link:focus-visible { border-bottom-color: var(--page-accent); color: var(--page-accent); background: transparent; }
.site-nav__search { margin-left: auto; }
.site-header__pr { max-width: none; margin: 0; padding: .3rem max(1rem, calc((100vw - 1190px) / 2 + 1rem)); color: #777; background: #f7f7f7; text-align: right; font-size: .7rem; }
.site-footer { margin-top: 3rem; padding: 1.25rem 1rem; color: #fff; background: #171719; }
.site-footer__menu { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem 1.1rem; max-width: 1190px; margin: 0 auto; padding: 0; list-style: none; }
.site-footer__link { color: #fff; font-size: .9rem; text-decoration: none; }
.site-footer__link:hover, .site-footer__link:focus-visible { text-decoration: underline; }

.facet-listing { color: var(--page-ink); background: var(--page-canvas); font: 15px/1.65 system-ui, -apple-system, BlinkMacSystemFont, "Noto Sans JP", sans-serif; }
.facet-listing a { color: var(--page-link); }
.site-nav__search { position: relative; margin: 0; padding: 0; list-style: none; }
.site-nav__search .header-search { display: flex; gap: .25rem; }
.catalog-search { position: relative; z-index: 20; }
.catalog-search-results { position: absolute; top: calc(100% + .4rem); right: 0; width: min(32rem, calc(100vw - 2rem)); max-height: min(70vh, 38rem); overflow: auto; padding: .7rem; border: 1px solid #c7cdd2; border-radius: .25rem; color: #222; background: #fff; box-shadow: 0 .4rem 1.2rem rgb(0 0 0 / .18); }
.catalog-search-results__count { margin: 0 0 .45rem; font-weight: 700; }
.catalog-search-results__list { display: grid; gap: .55rem; margin: 0; padding: 0; list-style: none; }
.catalog-search-results__list li { display: grid; gap: .12rem; padding: .45rem 0; border-top: 1px solid #e3e6e8; }
.catalog-search-results__list a { font-weight: 700; }
.catalog-search-results__list small, .catalog-search-results__more, .catalog-search-results__empty { color: #666; }
.catalog-search-results__more, .catalog-search-results__empty { margin: .5rem 0 0; }
.facet-listing .breadcrumb { border-bottom: 1px solid var(--page-line); background: #fff; }
.facet-listing .breadcrumb__list { display: flex; flex-wrap: wrap; gap: .55rem; max-width: 1420px; margin: 0 auto; padding: .55rem clamp(1rem, 3vw, 2rem); list-style: none; font-size: .85rem; }
.facet-listing .breadcrumb__item + .breadcrumb__item::before { content: "›"; margin-right: .55rem; color: #999; }
.facet-listing .breadcrumb__link { color: #0645ad; }
.facet-listing .site-header__pr { max-width: none; margin: 0; padding: .3rem clamp(1rem, 3vw, 2rem); color: #777; background: #f7f7f7; text-align: right; font-size: .72rem; }
.facet-listing .page-title { max-width: 1420px; margin: 1.25rem auto .5rem; padding: 0 clamp(1rem, 3vw, 2rem); text-align: left; font-size: clamp(1.3rem, 2vw, 1.8rem); line-height: 1.4; }
.facet-listing .ad-box { display: none; }
.facet-listing .ad-box__slot { min-height: inherit; }
.facet-listing .layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(240px, 320px); align-items: start; gap: clamp(18px, 2.5vw, 30px); width: min(100%, 1420px); margin: 0 auto; padding: 1rem clamp(1rem, 3vw, 2rem); }
.facet-listing .layout__main { min-width: 0; }
.facet-listing .layout__side { min-width: 0; }
.facet-listing .dmm-list { display: grid; gap: 1.5rem; }
.facet-listing .pagenavi { margin: .75rem 0; }
.facet-listing .pagenavi__list { display: flex; flex-wrap: wrap; gap: .4rem; justify-content: center; list-style: none; padding: 0; }
.facet-listing .pagenavi__link { display: inline-block; min-width: 2.5rem; padding: .45rem .7rem; border: 1px solid #cbd1d5; border-radius: .35rem; background: #fff; text-align: center; text-decoration: none; }
.facet-listing .pagenavi__link[aria-current="page"] { border-color: #333; background: #333; color: #fff; }
.facet-listing .pagenavi__count { margin: .35rem 0; text-align: center; }
.facet-listing .page-fav { margin: .6rem 0 1rem; text-align: right; }
.facet-listing .fav-button { padding: .3rem .55rem; border: 1px solid #aaa; border-radius: 2px; background: #fff; }
.facet-product { min-width: 0; padding: 0 0 1.25rem; border: 1px solid var(--page-line); border-radius: .65rem; overflow: hidden; background: #fff; box-shadow: 0 2px 10px rgb(24 34 40 / .04); }
.facet-product .section-title { margin: 0; padding: .7rem 1rem; background: var(--page-accent); color: var(--page-accent-ink); text-align: left; font-size: 1rem; line-height: 1.5; }
.facet-product .dmm-box__title { color: inherit; }
.facet-product__detail { display: grid; grid-template-columns: minmax(9rem, 13rem) minmax(0, 1fr); gap: 1rem; margin: 1rem 1rem 0; padding-top: 1rem; border-top: 1px solid #edf0f2; }
.facet-product__detail .dmm-box__package-img { display: block; width: 100%; height: auto; object-fit: contain; }
.facet-product .facet-image-list { display: grid; justify-items: center; gap: .8rem; margin: 1rem; padding: 0; list-style: none; }
.facet-product .facet-image-list__item { display: block; width: min(100%, 48rem); min-width: 0; }
.facet-product .facet-image-list__link { display: block; min-width: 0; }
.facet-product .facet-image-list__img,
.facet-product .photo-grid__img { display: block; width: 100%; max-width: 100%; height: auto; margin-inline: auto; object-fit: contain; }
.sample-video { max-width: 47rem; margin: 1rem auto; padding: 0 1rem; }
.sample-video h3 { margin: 0 0 .5rem; color: #30383d; font-size: 1rem; }
.sample-video__frame { position: relative; width: 100%; aspect-ratio: 3 / 2; overflow: hidden; background: #111; }
.sample-video__player { position: absolute; top: 0; left: 0; width: 720px; height: 480px; border: 0; transform-origin: top left; }
.sample-video__fallback { display: inline-block; margin-top: .5rem; font-size: .85rem; }
.facet-product .facet-image-list__action { justify-self: center; margin-top: 1rem; padding: .35rem .55rem; border: 1px solid #aaa; border-radius: .2rem; color: #222; font-size: .8rem; text-decoration: none; }
.facet-product .dmm-box__spec { display: grid; grid-template-columns: minmax(4.5rem, 6rem) minmax(0, 1fr); gap: .4rem .75rem; margin: .75rem 0; }
.facet-product__code { display: flex; flex-wrap: wrap; gap: .15rem 1rem; margin: .25rem 0; color: #666; font-size: .8rem; }
.facet-product .dmm-box__term { font-weight: 700; }
.facet-product .dmm-box__desc { min-width: 0; margin: 0; overflow-wrap: anywhere; }
.facet-product .facet-product__affiliate { display: inline-flex; min-height: 2.7rem; align-items: center; margin-top: .7rem; padding: .55rem .85rem; border-radius: .35rem; color: var(--page-accent-ink); background: var(--page-accent); font-size: .9rem; font-weight: 700; text-decoration: none; }
.facet-product .facet-product__affiliate:hover { color: var(--page-accent-ink); background: #f39acb; }
.facet-listing .side-link { margin: 0 0 1.25rem; padding: .8rem; border: 1px solid var(--page-line); border-radius: .5rem; background: #fff; }
.facet-listing .side-link__title { margin: 0 0 .4rem; padding: .45rem .6rem; border-radius: .2rem; color: var(--page-accent-ink); background: var(--page-accent); font-size: 1rem; }
.facet-listing .side-link__list { margin: 0; padding-left: 1.4rem; }
.facet-listing .side-link__item { margin: .15rem 0; }
.facet-listing .side-link__link { font-size: .9rem; }
.performer-about { margin: 1rem 0; padding: 1rem; border: 1px solid var(--page-line); border-radius: .55rem; background: #fff; }
.performer-about h2 { margin: 0 0 .75rem; padding: .45rem .6rem; border-radius: .2rem; color: var(--page-accent-ink); background: var(--page-accent); font-size: 1.05rem; }
.performer-about dl { display: grid; gap: .5rem; margin: 0; }
.performer-about dl > div { display: grid; grid-template-columns: 6rem minmax(0, 1fr); gap: .75rem; }
.performer-about dt { font-weight: 700; }
.performer-about dd { margin: 0; }
.facet-listing .site-footer { margin-top: 3rem; padding: 1.25rem 1rem; color: #fff; background: #171719; }
.facet-listing .site-footer__menu { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem 1.1rem; max-width: 1190px; margin: 0 auto; padding: 0; list-style: none; }
.facet-listing .site-footer__link { color: #fff; font-size: .9rem; text-decoration: none; }
.facet-listing__empty { padding: 2rem; text-align: center; }
.facet-listing--loading { min-height: 12rem; }
.facet-listing__error { min-height: 52vh; padding: clamp(2rem, 7vw, 5rem) 1rem; }
.facet-listing__error-card { width: min(100%, 52rem); margin: 0 auto; padding: clamp(1.25rem, 4vw, 2.5rem); border: 1px solid var(--page-line); border-radius: .7rem; background: #fff; box-shadow: 0 3px 14px rgb(30 40 46 / .05); }
.facet-listing__error-card h1 { margin: 0 0 .8rem; font-size: clamp(1.35rem, 3vw, 1.9rem); }
.facet-listing__error-card p { margin: 0 0 1.3rem; color: var(--page-muted); }
.facet-listing__error-card a { display: inline-flex; min-height: 2.7rem; align-items: center; padding: .45rem .8rem; border-radius: .35rem; color: var(--page-accent-ink); background: var(--page-accent); text-decoration: none; }
.facet-listing__error-card a:hover { color: var(--page-accent-ink); background: #f39acb; }

.rireki { margin: 1.5rem 0; padding: 1rem; border: 1px solid var(--page-line); border-radius: .55rem; background: #fff; box-shadow: 0 2px 9px rgb(30 40 46 / .035); }
.rireki__header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.rireki__header .section-title { margin: 0; }
.rireki__clear { flex: 0 0 auto; padding: .3rem .55rem; border: 1px solid #aaa; border-radius: 2px; color: inherit; background: #fff; cursor: pointer; font: inherit; font-size: .8rem; }
.rireki__list { display: grid; gap: .25rem; margin: .7rem 0 0; padding: 0; list-style: none; }
.rireki__item { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: baseline; gap: .5rem 1rem; padding: .55rem 0; border-top: 1px solid #e5e5e5; }
.rireki__link { min-width: 0; color: #0645ad; text-decoration: none; }
.rireki__link--with-thumbnail { display: grid; grid-template-columns: 6.5rem minmax(0, 1fr); align-items: center; gap: .7rem; }
.rireki__link > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rireki__thumbnail { display: block; width: 100%; aspect-ratio: 3 / 2; border-radius: .25rem; object-fit: cover; background: #eceff1; }
.rireki__date { color: #777; font-size: .8rem; white-space: nowrap; }
.rireki__empty { margin: .7rem 0 0; color: #777; font-size: .9rem; }

@media (max-width: 900px) {
  .facet-listing .layout { grid-template-columns: minmax(0, 1fr); }
  .facet-listing .layout__side { display: grid; grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr)); gap: .5rem 1rem; }
}
@media (max-width: 620px) {
  .site-header__top { min-height: 0; flex-wrap: wrap; gap: .55rem .9rem; padding-top: .65rem; padding-bottom: .75rem; }
  .site-header__search { width: 100%; }
  .site-nav__list { justify-content: space-between; gap: .1rem .35rem; min-height: 46px; padding-right: .7rem; padding-left: .7rem; }
  .site-nav__link { min-height: 46px; padding: .3rem .35rem; font-size: .83rem; }
  .site-nav__search { width: 100%; margin: .2rem 0 0; }
  .site-nav__search .header-search { width: 100%; }
  .site-nav__search .header-search__input { flex: 1; width: 1%; }
  .facet-listing .page-title { margin-top: 1rem; }
  .facet-product .facet-image-list { margin: .65rem; }
  .facet-product__detail { grid-template-columns: minmax(0, 1fr); margin: .65rem; }
  .facet-product__detail .dmm-box__package { max-width: 15rem; }
  .facet-product .dmm-box__package-img { max-height: 22rem; object-fit: contain; }
}
@media (max-width: 480px) { .rireki__item { grid-template-columns: minmax(0, 1fr); gap: .1rem; } .rireki__date { text-align: right; } }

@media (max-width: 380px) {
  .site-nav__list { gap: 0; }
  .site-nav__link { padding-right: .2rem; padding-left: .2rem; font-size: .72rem; }
}
