/* レンタルサイト（Bootstrap 3.4.1・renewal-common.min.css・style.css）が要素名だけで付ける性質を、ポータル内だけブラウザの既定値へ戻す（revert）。ポータル自身の CSS はこれより詳しいセレクタなので優先される。*/
.p-portal[data-portal] :where(*){box-sizing:revert}
.p-portal[data-portal] :where(a){background:revert;color:revert;font-feature-settings:revert;outline:revert;text-decoration:revert;transition:revert}
.p-portal[data-portal] :where(abbr){border:revert;cursor:revert;text-decoration:revert}
.p-portal[data-portal] :where(address){font-style:revert;line-height:revert;margin:revert}
.p-portal[data-portal] :where(article,aside,details,figcaption,header,hgroup,main,menu,nav,section,summary,template){display:revert}
.p-portal[data-portal] :where(audio){display:revert;height:revert;vertical-align:revert}
.p-portal[data-portal] :where(b,strong){font-weight:revert}
.p-portal[data-portal] :where(blockquote){border:revert;font-size:revert;margin:revert;padding:revert}
.p-portal[data-portal] :where(button){appearance:revert;color:revert;cursor:revert;font-family:revert;font-feature-settings:revert;font-kerning:revert;font-language-override:revert;font-optical-sizing:revert;font-size:revert;font-size-adjust:revert;font-stretch:revert;font-style:revert;font-variant:revert;font-variation-settings:revert;font-weight:revert;line-height:revert;margin:revert;overflow:revert;text-transform:revert}
.p-portal[data-portal] :where(canvas,progress){display:revert;vertical-align:revert}
.p-portal[data-portal] :where(caption){color:revert;padding:revert;text-align:revert}
.p-portal[data-portal] :where(code){background:revert;border-radius:revert;color:revert;font-family:revert;font-size:revert;padding:revert;white-space:revert}
.p-portal[data-portal] :where(col){display:revert;float:revert;position:revert}
.p-portal[data-portal] :where(dd){line-height:revert;margin:revert}
.p-portal[data-portal] :where(dfn){font-style:revert}
.p-portal[data-portal] :where(dt){font-weight:revert;line-height:revert}
.p-portal[data-portal] :where(fieldset){border:revert;margin:revert;min-width:revert;padding:revert}
.p-portal[data-portal] :where(figure){display:revert;margin:revert}
.p-portal[data-portal] :where(footer){color:revert;display:revert;font-size:revert;line-height:revert}
.p-portal[data-portal] :where(h1,h2,h3,h4,h5,h6){color:revert;font-family:revert;font-size:revert;font-weight:revert;line-height:revert;margin:revert}
.p-portal[data-portal] :where(hr){border:revert;box-sizing:revert;height:revert;margin:revert;overflow:revert}
.p-portal[data-portal] :where(img){border:revert;height:revert;max-height:revert;max-width:revert;vertical-align:revert}
.p-portal[data-portal] :where(input){appearance:revert;background:revert;border:revert;border-radius:revert;box-shadow:revert;box-sizing:revert;color:revert;cursor:revert;display:revert;font-family:revert;font-feature-settings:revert;font-kerning:revert;font-language-override:revert;font-optical-sizing:revert;font-size:revert;font-size-adjust:revert;font-stretch:revert;font-style:revert;font-variant:revert;font-variation-settings:revert;font-weight:revert;height:revert;line-height:revert;margin:revert;outline:revert;overflow:revert;padding:revert;text-align:revert;width:revert}
.p-portal[data-portal] :where(kbd){background:revert;border-radius:revert;box-shadow:revert;color:revert;font-family:revert;font-size:revert;font-weight:revert;padding:revert}
.p-portal[data-portal] :where(label){display:revert;font-weight:revert;margin:revert;max-width:revert}
.p-portal[data-portal] :where(legend){border:revert;box-sizing:revert;color:revert;display:revert;font-size:revert;line-height:revert;margin:revert;max-width:revert;padding:revert;white-space:revert;width:revert}
.p-portal[data-portal] :where(mark){background:revert;color:revert;padding:revert}
.p-portal[data-portal] :where(optgroup){color:revert;font-family:revert;font-feature-settings:revert;font-kerning:revert;font-language-override:revert;font-optical-sizing:revert;font-size:revert;font-size-adjust:revert;font-stretch:revert;font-style:revert;font-variant:revert;font-variation-settings:revert;font-weight:revert;line-height:revert;margin:revert}
.p-portal[data-portal] :where(output){color:revert;display:revert;font-size:revert;line-height:revert;padding:revert}
.p-portal[data-portal] :where(dl,ol,p,ul){margin:revert}
.p-portal[data-portal] :where(pre){background:revert;border:revert;border-radius:revert;color:revert;display:revert;font-family:revert;font-size:revert;line-height:revert;margin:revert;overflow:revert;padding:revert;word-break:revert}
.p-portal[data-portal] :where(samp){font-family:revert;font-size:revert}
.p-portal[data-portal] :where(select){background:revert;border:revert;border-radius:revert;box-shadow:revert;color:revert;font-family:revert;font-feature-settings:revert;font-kerning:revert;font-language-override:revert;font-optical-sizing:revert;font-size:revert;font-size-adjust:revert;font-stretch:revert;font-style:revert;font-variant:revert;font-variation-settings:revert;font-weight:revert;height:revert;line-height:revert;margin:revert;outline:revert;text-transform:revert}
.p-portal[data-portal] :where(small){color:revert;display:revert;font-size:revert;font-weight:revert;line-height:revert}
.p-portal[data-portal] :where(sub){bottom:revert;font-size:revert;line-height:revert;position:revert;vertical-align:revert}
.p-portal[data-portal] :where(sup){font-size:revert;line-height:revert;position:revert;top:revert;vertical-align:revert}
.p-portal[data-portal] :where(svg){overflow:revert}
.p-portal[data-portal] :where(table){border-spacing:revert;background:revert;border-collapse:revert}
.p-portal[data-portal] :where(td){display:revert;float:revert;padding:revert;position:revert}
.p-portal[data-portal] :where(textarea){color:revert;font-family:revert;font-feature-settings:revert;font-kerning:revert;font-language-override:revert;font-optical-sizing:revert;font-size:revert;font-size-adjust:revert;font-stretch:revert;font-style:revert;font-variant:revert;font-variation-settings:revert;font-weight:revert;line-height:revert;margin:revert;overflow:revert}
.p-portal[data-portal] :where(th){display:revert;float:revert;padding:revert;position:revert;text-align:revert}
.p-portal[data-portal] :where(video){display:revert;max-height:revert;max-width:revert;vertical-align:revert}
/* ポータル共通の土台。各ポータルで個別に書かない。ポータル固有の指定はこれより詳しいセレクタで上書きする */
.p-portal[data-portal],.p-portal[data-portal] :where(*,*::before,*::after){box-sizing:border-box}
.p-portal[data-portal] :where([hidden]){display:none!important}
.p-portal[data-portal] :where(button,input,select,textarea,optgroup){font:inherit;color:inherit}
.p-portal[data-portal] :where(button){cursor:pointer}
.p-portal[data-portal] :where(a){color:inherit;text-decoration:none}
.p-portal[data-portal] :where(a,button,input,select,summary){touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.p-portal[data-portal] :where(textarea){resize:vertical}
.p-portal[data-portal] :where(dialog)::backdrop{background:#0008}
.p-portal[data-portal] :where(:focus-visible){outline:2px solid #292c30;outline-offset:2px}
.p-portal[data-portal] :where(.p-hero) :where(:focus-visible){outline-color:#fff}
.p-portal[data-portal] p a:not([class]),.p-portal[data-portal] .text-link{color:#337ab7;text-decoration:underline;text-underline-offset:2px}
.p-portal[data-portal] :where(img,picture){border:0}
.p-portal[data-portal]{line-break:strict}

/* 見出し・本文・文中のリンクの土台（レンタルサイトのカテゴリーページに合わせる）。ヒーローの中は対象外。共通の部品の指定が優先する */
.p-portal[data-portal] [id]{scroll-margin-top:var(--ps-portal-sticky-top,0px)}
.p-portal[data-portal] h2:not(:where([class*="hero"] h2)){color:#1a1a1a;font-size:24px;font-weight:700;line-height:1.4;letter-spacing:normal}
.p-portal[data-portal] h3:not(:where([class*="hero"] h3)){font-size:16px;font-weight:700;line-height:1.5;letter-spacing:normal}
.p-portal[data-portal] :is(.p-mk,.p-camera-type-choice,.category-card,.p-sony-e-mount-portal-guide-card,.series,.cinema-series-card,.use-card,.set,.p-eMount-Portal-gear-card,.p-eMount-Portal-fx-card,.product,.p-microphone-card,.product-card) h3{display:block;box-sizing:border-box;min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere;word-break:normal}
.p-portal[data-portal] p:not(:where([class*="hero"] p)){font-size:14px;line-height:1.85}
@media (max-width:599px){
  .p-portal[data-portal] h2:not(:where([class*="hero"] h2)){font-size:20px}
}
.p-portal[data-portal] :is(.p-rank,.p-mk-grid,.p-mk-other,.p-faq,.p-filter,.p-filter-result,.p-table,.p-scene-tabs){color:#1a1a1a}
.p-portal[data-portal] :is(div,section):has(>table.p-table){border:1px solid #e7e7ea;border-radius:0}
/* 節と節の間（レンタルサイトのカテゴリーページに合わせ、節の上下24px＝間48px）と節の背景（白） */
.p-portal[data-portal] section[id]:has(h2):not(:has(.p-page-title)):not(section[id] section){padding-block:24px;margin-block:0;background:#fff}
/* ヒーローの高さ（全ポータル共通。600px以上は480px、599px以下は440px） */
.p-portal[data-portal]{--p-hero-height:480px}
@media (max-width:599px){.p-portal[data-portal]{--p-hero-height:440px}}
.p-portal[data-portal] .p-hero{box-sizing:border-box;height:var(--p-hero-height);min-height:0}

.p-portal[data-portal]{
  --p-red: #b0000d;
  --p-red-hover: #8f000a;
  --p-ink: #202126;
  --p-muted: #666a70;
  --p-line: #d9dce1;
  --p-soft: #f4f5f6;
  --p-white: #fff;
  --p-radius: 8px;
  --p-control-height: 44px;
  --p-table-control-height: 37px;
  --p-content-width: 1068px;
  --p-font: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans JP", "Yu Gothic", Meiryo, sans-serif;
  
}
.p-portal[data-portal] .p-page{
  font-family: var(--p-font);
}
.p-portal[data-portal] .p-page :where(button, input, select, textarea){
  font-family: inherit;
}
.p-portal[data-portal] .p-heading{
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: baseline;
  gap: 12px;
  margin-bottom: 14px;
  padding-bottom: 8px;
  
  color: var(--p-ink);
}
.p-portal[data-portal] .p-heading__number{
  color: var(--p-red);
  font-size: 22px;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0;
}
.p-portal[data-portal] .p-heading h2{
  margin: 0;
  color: var(--p-ink);
  font-family: var(--p-font);
  font-size: 22px;
  font-weight: 800;
  line-height: 1.35;
}
.p-portal[data-portal] .p-heading__meta{
  margin-left: auto;
  color: var(--p-muted);
  font-size: 12px;
  text-align: right;
}
.p-portal[data-portal] .p-heading + .p-heading__description{
  max-width: 760px;
  margin: 0 0 28px;
  color: var(--p-muted);
  font-size: 14px;
}
.p-portal[data-portal] .p-btn{
  display: inline-flex;
  min-height: var(--p-control-height);
  box-sizing: border-box;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 20px;
  border: 1px solid var(--p-red);
  border-radius: var(--p-radius);
  font-size: 14px;
  font-weight: 800;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
}
.p-portal[data-portal] .p-btn--secondary[aria-pressed="true"]{
  border-color: var(--p-red);
  background: var(--p-white);
  color: var(--p-red);
}
.p-portal[data-portal] .p-btn--link{
  min-height: auto;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--p-red);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.p-portal[data-portal] .p-btn:disabled{
  opacity: .45;
  cursor: default;
}
.p-portal[data-portal] .p-linkcard{
  display: flex;
  align-items: center;
  gap: 16px;
  margin: 16px 0 0;
  padding: 16px 18px;
  border: 1px solid var(--p-line);
  border-radius: 0;
  background: var(--p-white);
  color: var(--p-ink);
  text-decoration: none;
}
.p-portal[data-portal] .p-linkcard:hover,.p-portal[data-portal] .p-linkcard:focus-visible{
  border-color: var(--p-red);
}
.p-portal[data-portal] .p-linkcard__title{
  display: block;
  font-weight: 800;
}
.p-portal[data-portal] .p-linkcard__count{
  display: block;
  color: var(--p-muted);
  font-size: 12px;
}
.p-portal[data-portal] .p-linkcard__link{
  margin-left: auto;
  color: var(--p-red);
  font-size: 13px;
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 3px;
  white-space: nowrap;
}
.p-portal[data-portal] .p-result-count{
  margin: 8px 0;
  color: var(--p-muted);
  font-size: 13px;
  text-align: right;
}
.p-portal[data-portal] .p-more{
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 6px;
  margin-top: 20px;
  color: var(--p-muted);
  font-size: 12px;
}
.p-portal[data-portal] .p-tray{
  position: fixed;
  z-index:30;
  right: calc(var(--ps-portal-fixed-right, 0px) + 18px);
  bottom:var(--ps-portal-fixed-bottom, 0px);
  left: 18px;
  display: none;
  width: min(1032px, calc(100% - 36px - var(--ps-portal-fixed-right, 0px)));
  box-sizing: border-box;
  align-items: center;
  gap: 12px;
  margin: auto;
  padding: 12px 14px;
  border: 1px solid var(--p-line);
  border-radius: 12px;
  background: var(--p-white);
  box-shadow: 0 10px 30px rgba(0, 0, 0, .18);
  color: var(--p-ink);
}
.p-portal[data-portal] .p-tray.is-visible{
  display: flex;
}
.p-portal[data-portal] .p-tray__body{
  min-width: 0;
  flex: 1;
}
.p-portal[data-portal] .p-tray__items{
  display: flex;
  max-height: 90px;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 6px;
  overflow: auto;
}
.p-portal[data-portal] .p-tray__item{
  display: inline-flex;
  min-width: 0;
  align-items: center;
  gap: 6px;
  padding: 4px 8px;
  border: 1px solid var(--p-line);
  border-radius: 6px;
  background: #fff;
  font-size: 12px;
}
.p-portal[data-portal] .p-tray__item span{
  overflow-wrap: anywhere;
}
.p-portal[data-portal] .p-tray__remove{
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--p-muted);
  font-size: 16px;
  cursor: pointer;
}
.p-portal[data-portal] .p-faq{
  width: min(var(--p-content-width), 100%);
  margin-inline: auto;
  background: var(--p-white);
  color: var(--p-ink);
}
.p-portal[data-portal] .p-faq__item{
  border-bottom: 1px solid var(--p-line);
}
.p-portal[data-portal] .p-faq__question{
  display: grid;
  width: 100%;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 12px;
  padding: 16px 4px;
  border: 0;
  background: transparent;
  color: var(--p-ink);
  text-align: left;
  cursor: pointer;
}
.p-portal[data-portal] .p-faq__number,.p-portal[data-portal] .p-faq__toggle{
  color: var(--p-red);
  font-weight: 800;
}
.p-portal[data-portal] .p-faq__answer{
  display: none;
  margin: 0;
  padding: 0 36px 16px;
  color: var(--p-muted);
  font-size: 14px;
}
.p-portal[data-portal] .p-is-open .p-faq__answer{
  display: block;
}
.p-portal[data-portal] .p-note{
  width: min(var(--p-content-width), calc(100% - 36px));
  margin: 0 auto 70px;
  padding: 6px 12px;
  background: #fff;
  color: var(--p-muted);
  font-size: 12px;
}
.p-portal[data-portal] .p-note p{
  margin: 4px 0 0;
}
@media (max-width: 700px){.p-portal[data-portal] .p-heading{
    grid-template-columns: auto minmax(0, 1fr);
  }.p-portal[data-portal] .p-heading__meta{
    grid-column: 1 / -1;
    margin-left: 0;
    text-align: left;
  }.p-portal[data-portal] .p-tray{
    align-items: stretch;
    flex-direction: column;
  }.p-portal[data-portal] .p-tray > .p-btn{
    width: 100%;
  }.p-portal[data-portal] .p-linkcard{
    align-items: flex-start;
  }}

.p-portal[data-portal] .p-nav{
  display: flex;
  width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  background: #121315;
  
  scrollbar-width: thin;
}.p-portal[data-portal] .p-nav a{
  flex: 1 0 auto;
  min-width: 0;
  padding: 10px 14px;
  border-right: 1px solid #33353a;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.35;
  text-align: center;
  text-decoration: none;
}.p-portal[data-portal] .p-nav a:hover,.p-portal[data-portal] .p-nav a:focus-visible{
  background: #26282c;
}.p-portal[data-portal] .p-nav .p-nav__rental{
  background: #b0000d;
}.p-portal[data-portal] .p-nav .p-nav__rental:hover,.p-portal[data-portal] .p-nav .p-nav__rental:focus-visible{
  background: #8f000a;
}.p-portal[data-portal] .p-nav-v2-slot{
  position: relative;
  z-index: 60;
  width: 100%;
  height: 64px;
  background: #121315;
}.p-portal[data-portal] .p-nav.p-nav--v2{
  height: 64px;
  box-sizing: border-box;
  padding-block: 0;
  align-items: stretch;
  border-bottom: 0;
  background: #121315;
  transition: height .18s ease;
}.p-portal[data-portal] .p-nav.p-nav--v2 > a{
  position: relative;
  display: inline-flex;
  min-width: 0;
  align-items: center;
  justify-content: center;
  padding: 0 10px;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.3;
}.p-portal[data-portal] .p-nav.p-nav--v2 > a[aria-current="true"]::after{
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 3px;
  background: #b0000d;
  content: "";
}.p-portal[data-portal] .p-nav.p-nav--v2.is-fixed,.p-portal[data-portal] .p-nav-v2-mobile.is-fixed{
  position: fixed;
  z-index:900;
  top:var(--ps-portal-sticky-top, 0px);
  right: 0;
  left: 0;
  height: 44px;
}.p-portal[data-portal] .p-nav-v2-slot:has(> .p-nav--v2) ~ section[id]{
  scroll-margin-top: calc(var(--ps-portal-sticky-top, 0px) + 52px);
}.p-portal[data-portal] .p-nav-v2-mobile,.p-portal[data-portal] .p-nav-v2-sheet{
  display: none;
}@media (max-width: 768px){.p-portal[data-portal] .p-nav-v2-slot.is-enhanced > .p-nav--v2{
    display: none;
  }.p-portal[data-portal] .p-nav-v2-slot.is-enhanced > .p-nav-v2-mobile{
    display: flex;
  }.p-portal[data-portal] .p-nav-v2-mobile{
    width: 100%;
    height: 64px;
    box-sizing: border-box;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 0 12px 0 16px;
    background: #121315;
    color: #fff;
    transition: height .18s ease;
  }.p-portal[data-portal] .p-nav-v2-mobile__current{
    min-width: 0;
    overflow: hidden;
    font-size: 14px;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
  }.p-portal[data-portal] .p-nav-v2-mobile__toggle{
    display: inline-flex;
    min-width: 72px;
    min-height: 44px;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
    padding: 0 4px;
    border: 0;
    background: transparent;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
  }.p-portal[data-portal] .p-nav-v2-mobile__toggle:focus-visible,.p-portal[data-portal] .p-nav-v2-sheet__close:focus-visible,.p-portal[data-portal] .p-nav-v2-sheet__link:focus-visible{
    outline: 3px solid #fff;
    outline-offset: -3px;
  }.p-portal[data-portal] .p-nav-v2-sheet{
    position: fixed;
    z-index:900;
    top:var(--ps-portal-sticky-top, 0px);
    right: 0;
    bottom:var(--ps-portal-fixed-bottom, 0px);
    left: 0;
    display: block;
    width: 100%;
    height: auto;
    max-width: none;
    max-height: none;
    margin: 0;
    padding: 0;
    border: 0;
    background: rgba(0, 0, 0, .58);
    color: inherit;
  }.p-portal[data-portal] .p-nav-v2-sheet:not([open]){
    display: none;
  }.p-portal[data-portal] .p-nav-v2-sheet::backdrop{
    background: transparent;
  }.p-portal[data-portal] .p-nav-v2-sheet__panel{
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    max-height: min(82vh, 680px);
    max-height: min(82svh, 680px);
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 0 0 env(safe-area-inset-bottom);
    background: #121315;
    color: #fff;
    transform: translateY(100%);
    transition: transform .2s ease;
  }.p-portal[data-portal] .p-nav-v2-sheet.p-is-open .p-nav-v2-sheet__panel{
    transform: translateY(0);
  }.p-portal[data-portal] .p-nav-v2-sheet__header{
    position: sticky;
    z-index: 1;
    top: 0;
    display: flex;
    min-height: 52px;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 4px 12px 4px 16px;
    border-bottom: 1px solid #33353a;
    background: #121315;
  }.p-portal[data-portal] .p-nav-v2-sheet__title{
    margin: 0;
    font-size: 16px;
    font-weight: 700;
  }.p-portal[data-portal] .p-nav-v2-sheet__close{
    min-width: 64px;
    min-height: 44px;
    padding: 0 8px;
    border: 1px solid #55585e;
    background: transparent;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
  }.p-portal[data-portal] .p-nav-v2-sheet__links{
    display: grid;
  }.p-portal[data-portal] .p-nav-v2-sheet__link{
    position: relative;
    display: flex;
    min-height: 44px;
    align-items: center;
    padding: 10px 16px;
    border-bottom: 1px solid #33353a;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.4;
    text-decoration: none;
  }.p-portal[data-portal] .p-nav-v2-sheet__link[aria-current="true"]{
    background: #24262a;
  }.p-portal[data-portal] .p-nav-v2-sheet__link[aria-current="true"]::before{
    position: absolute;
    top: 7px;
    bottom: 7px;
    left: 0;
    width: 3px;
    background: #b0000d;
    content: "";
  }
}@media (prefers-reduced-motion: reduce){.p-portal[data-portal] .p-nav.p-nav--v2,.p-portal[data-portal] .p-nav-v2-mobile,.p-portal[data-portal] .p-nav-v2-sheet__panel{
    transition: none;
  }
}.p-portal[data-portal] .p-nav-v2-unstick{
  position: static !important;
}
.p-portal[data-portal] .p-nav-v2-slot.is-enhanced.is-compact > .p-nav--v2{
    display: none;
  }.p-portal[data-portal] .p-nav-v2-slot.is-enhanced.is-compact > .p-nav-v2-mobile{
    display: flex;
  }.p-portal[data-portal] .p-nav-v2-slot.is-compact .p-nav-v2-mobile{
    width: 100%;
    height: 64px;
    box-sizing: border-box;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 0 12px 0 16px;
    background: #121315;
    color: #fff;
    transition: height .18s ease;
  }.p-portal[data-portal] .p-nav-v2-slot.is-compact .p-nav-v2-mobile__current{
    min-width: 0;
    overflow: hidden;
    font-size: 14px;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
  }.p-portal[data-portal] .p-nav-v2-slot.is-compact .p-nav-v2-mobile__toggle{
    display: inline-flex;
    min-width: 72px;
    min-height: 44px;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
    padding: 0 4px;
    border: 0;
    background: transparent;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
  }.p-portal[data-portal] .p-nav-v2-slot.is-compact .p-nav-v2-mobile__toggle:focus-visible,.p-portal[data-portal] .p-nav-v2-slot.is-compact .p-nav-v2-sheet__close:focus-visible,.p-portal[data-portal] .p-nav-v2-slot.is-compact .p-nav-v2-sheet__link:focus-visible{
    outline: 3px solid #fff;
    outline-offset: -3px;
  }.p-portal[data-portal] .p-nav-v2-slot.is-compact .p-nav-v2-sheet{
    position: fixed;
    z-index:900;
    top:var(--ps-portal-sticky-top, 0px);
    right: 0;
    bottom:var(--ps-portal-fixed-bottom, 0px);
    left: 0;
    display: block;
    width: 100%;
    height: auto;
    max-width: none;
    max-height: none;
    margin: 0;
    padding: 0;
    border: 0;
    background: rgba(0, 0, 0, .58);
    color: inherit;
  }.p-portal[data-portal] .p-nav-v2-slot.is-compact .p-nav-v2-sheet:not([open]){
    display: none;
  }.p-portal[data-portal] .p-nav-v2-slot.is-compact .p-nav-v2-sheet::backdrop{
    background: transparent;
  }.p-portal[data-portal] .p-nav-v2-slot.is-compact .p-nav-v2-sheet__panel{
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    max-height: min(82vh, 680px);
    max-height: min(82svh, 680px);
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 0 0 env(safe-area-inset-bottom);
    background: #121315;
    color: #fff;
    transform: translateY(100%);
    transition: transform .2s ease;
  }.p-portal[data-portal] .p-nav-v2-slot.is-compact .p-nav-v2-sheet.p-is-open .p-nav-v2-sheet__panel{
    transform: translateY(0);
  }.p-portal[data-portal] .p-nav-v2-slot.is-compact .p-nav-v2-sheet__header{
    position: sticky;
    z-index: 1;
    top: 0;
    display: flex;
    min-height: 52px;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 4px 12px 4px 16px;
    border-bottom: 1px solid #33353a;
    background: #121315;
  }.p-portal[data-portal] .p-nav-v2-slot.is-compact .p-nav-v2-sheet__title{
    margin: 0;
    font-size: 16px;
    font-weight: 700;
  }.p-portal[data-portal] .p-nav-v2-slot.is-compact .p-nav-v2-sheet__close{
    min-width: 64px;
    min-height: 44px;
    padding: 0 8px;
    border: 1px solid #55585e;
    background: transparent;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
  }.p-portal[data-portal] .p-nav-v2-slot.is-compact .p-nav-v2-sheet__links{
    display: grid;
  }.p-portal[data-portal] .p-nav-v2-slot.is-compact .p-nav-v2-sheet__link{
    position: relative;
    display: flex;
    min-height: 44px;
    align-items: center;
    padding: 10px 16px;
    border-bottom: 1px solid #33353a;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.4;
    text-decoration: none;
  }.p-portal[data-portal] .p-nav-v2-slot.is-compact .p-nav-v2-sheet__link[aria-current="true"]{
    background: #24262a;
  }.p-portal[data-portal] .p-nav-v2-slot.is-compact .p-nav-v2-sheet__link[aria-current="true"]::before{
    position: absolute;
    top: 7px;
    bottom: 7px;
    left: 0;
    width: 3px;
    background: #b0000d;
    content: "";
  }
.p-portal[data-portal]{container-type:inline-size}
.p-portal[data-portal] .p-nav-v2-slot{width:100cqi;margin-inline:calc((100% - 100cqi)/2)}

.p-portal[data-portal] .p-table-scroll{
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-inline: contain;
}.p-portal[data-portal] .p-table.p-table{
  width: max-content;
  min-width: 0;
  border-collapse: collapse;
  table-layout: fixed;
  font-size: 13px;
  line-height: 1.45;
}.p-portal[data-portal] .p-table.p-table--fill{
  width: 100%;
  min-width: calc(
    156px +
    132px +
    200px +
    170px +
    104px
  );
}.p-portal[data-portal] .p-table.p-table--fill .p-col-product{
  width: 200px;
  min-width: 200px;
  max-width: 200px;
}.p-portal[data-portal] .p-table th,.p-portal[data-portal] .p-table td{
  padding: 10px 12px;
  border-right: 1px solid #e7e7ea;
  border-bottom: 1px solid #e7e7ea;
  vertical-align: middle;
}.p-portal[data-portal] .p-table th:last-child,.p-portal[data-portal] .p-table td:last-child{
  border-right: 0;
}.p-portal[data-portal] .p-table thead th{
  height: 52px;
  padding-block: 8px;
  white-space: nowrap;
  background: #161619;
  color: #fff;
  vertical-align: middle;
}.p-portal[data-portal] .p-table tbody tr{
  height: 108px;
}.p-portal[data-portal] .p-table .p-col-actions{
  width: 156px;
  min-width: 156px;
  max-width: 156px;
  text-align: center;
}.p-portal[data-portal] :is(.p-table,.p-spec-table) .p-col-photo{
  width: 132px;
  min-width: 132px;
  max-width: 132px;
  padding-inline: 10px;
  text-align: center;
}.p-portal[data-portal] .p-table .p-col-product{
  width: 200px;
  min-width: 200px;
  max-width: 200px;
}.p-portal[data-portal] .p-table .p-col-price{
  width: 170px;
  min-width: 170px;
  max-width: 170px;
  white-space: nowrap;
}.p-portal[data-portal] .p-table .p-col-stock{
  width: 104px;
  min-width: 104px;
  max-width: 104px;
  white-space: nowrap;
}.p-portal[data-portal] .p-table .p-col-short{
  width: 112px;
  min-width: 112px;
  max-width: 160px;
  white-space: nowrap;
}.p-portal[data-portal] .p-table .p-col-long{
  width: 220px;
  min-width: 180px;
  max-width: 240px;
  white-space: normal;
  overflow-wrap: anywhere;
  line-break: strict;
}.p-portal[data-portal] .p-actions{
  display: flex;
  min-width: min(132px, 100%);
  max-width: 100%;
  align-items: center;
  flex-direction: column;
  gap: 6px;
}.p-portal[data-portal] .p-table td .p-action{
  margin: 0;
  width: 132px;
  min-width: min(132px, 100%);
  max-width: 100%;
}.p-portal[data-portal] .p-table .p-action--request{
  display: inline-flex;
  flex: 0 0 auto;
  box-sizing: border-box;
  align-items: center;
  justify-content: center;
  padding: 8px 10px;
  border: 1px solid #b0000d;
  border-radius: 8px;
  background: #fff;
  color: #b0000d;
  font-size: 11.5px;
  font-weight: 900;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
}.p-portal[data-portal] .p-table .p-action--request{
  border-color: #c8102e;
  background: #fff;
  color: #c8102e;
}.p-portal[data-portal] :is(.p-table,.p-spec-table) .p-photo{
  display: flex;
  width: 112px;
  max-width: 100%;
  height: 88px;
  box-sizing: border-box;
  align-items: center;
  justify-content: center;
  margin: auto;
  padding: 5px;
  overflow: hidden;
  background: transparent;
  border: 0;
  border-radius: 0;
}.p-portal[data-portal] :is(.p-table,.p-spec-table) .p-photo__img{
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  margin: 0;
  padding: 0;
  object-fit: contain;
  background: transparent;
  border: 0;
  border-radius: 0;
}.p-portal[data-portal] .p-table .p-col-product{
  text-align: left;
}.p-portal[data-portal] .p-product{
  min-width: 0;
  display: grid;
  gap: 3px;
  text-align: left;
}.p-portal[data-portal] .p-table .p-product > a,.p-portal[data-portal] .p-table .p-product > b{
  font-weight: 700;
  line-height: 1.5;
}.p-portal[data-portal] .p-table .p-product small{
  color: #5f646d;
  font-size: 11.5px;
  line-height: 1.5;
}.p-portal[data-portal] .p-table .p-product > *{
  min-width: 0;
}.p-portal[data-portal] tr[data-rental-state="unavailable"],.p-portal[data-portal] tr.norent[data-norent="1"]{
  background: #fafafa;
  color: #8a8f95;
}.p-portal[data-portal] [data-rental-state="unavailable"] :is(td, th, p, span, small, b, strong, em, div, a):not(.p-action),.p-portal[data-portal] .norent[data-norent="1"] :is(td, th, p, span, small, b, strong, em, div, a):not(.p-action){
  color: #8a8f95;
}.p-portal[data-portal] .p-table tbody th.p-col-product,.p-portal[data-portal] .p-table .p-product,.p-portal[data-portal] .p-table .p-product > *{
  white-space: normal;
  word-break: break-word;
}.p-portal[data-portal] .p-spec-scroll{
  max-width: 100%;
  overflow-x: auto;
}.p-portal[data-portal] .p-spec-table{
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
  line-height: 1.55;
}.p-portal[data-portal] .p-spec-scroll .p-spec-table th,.p-portal[data-portal] .p-spec-scroll .p-spec-table td{
  padding: 12px 14px;
  border-right: 1px solid #e7e7ea;
  border-bottom: 1px solid #e7e7ea;
  text-align: left;
  vertical-align: top;
}.p-portal[data-portal] .p-spec-scroll .p-spec-table thead th{
  padding-block: 16px;
  background: #161619;
  color: #fff;
  font-weight: 700;
  white-space: nowrap;
}.p-portal[data-portal] .p-spec-scroll .p-spec-table .p-spec-key{
  position: sticky;
  left: 0;
  z-index: 1;
  background: #fff;
  border-right-color: #c9c9cf;
  font-weight: 700;
  white-space: normal;
;top:var(--ps-portal-sticky-top, 0px)}.p-portal[data-portal] .p-spec-scroll .p-spec-table thead .p-spec-key{
  z-index: 2;
  background: #161619;
}.p-portal[data-portal] .p-spec-scroll .p-spec-table tbody tr:last-child > *{
  border-bottom: 1px solid #e7e7ea;
}.p-portal[data-portal] .p-spec-scroll .p-spec-model{
  min-width: 0;
}.p-portal[data-portal] .p-spec-scroll .p-spec-model img{
  max-width: 80px;
  height: auto;
}@media (max-width: 390px){.p-portal[data-portal] .p-spec-scroll .p-spec-table .p-spec-key{
    width: 112px;
    min-width: 112px;
  }.p-portal[data-portal] .p-spec-scroll .p-spec-table :is(th, td):not(.p-spec-key){
    min-width: 150px;
  }
}@media (max-width: 850px){.p-portal[data-portal] .p-table-scroll:has(> .p-table--stack){
    overflow: visible;
    border: 0;
  }.p-portal[data-portal] .p-table--stack.p-table--stack{
    display: block;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin-left: 0;
    border: 0;
  }.p-portal[data-portal] .p-table--stack.p-table--stack thead{
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    border: 0;
  }.p-portal[data-portal] .p-table--stack.p-table--stack tbody{
    display: block;
  }.p-portal[data-portal] .p-table--stack.p-table--stack tbody tr{
    display: flex;
    flex-direction: column;
    height: auto;
    background: #fff;
    border: 1px solid #dce2e9;
    padding: 14px;
    margin-bottom: 12px;
  }.p-portal[data-portal] .p-table--stack.p-table--stack tbody tr > th,.p-portal[data-portal] .p-table--stack.p-table--stack tbody tr > td,.p-portal[data-portal] .p-table--stack.p-table--stack tbody tr > .p-col-product{
    display: grid;
    grid-template-columns: 6.5em minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    width: auto;
    min-width: 0;
    max-width: none;
    padding: 6px 0;
    border: 0;
    text-align: left;
    font-weight: 400;
    white-space: normal;
  }.p-portal[data-portal] .p-table--stack.p-table--stack tbody tr > th::before,.p-portal[data-portal] .p-table--stack.p-table--stack tbody tr > td::before{
    content: attr(data-label);
    color: #667085;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.6;
  }.p-portal[data-portal] .p-table--stack.p-table--stack tbody tr > .p-col-photo{ order: 1; }.p-portal[data-portal] .p-table--stack.p-table--stack tbody tr > .p-col-rank{ order: 2; }.p-portal[data-portal] .p-table--stack.p-table--stack tbody tr > .p-col-product{ order: 3; }.p-portal[data-portal] .p-table--stack.p-table--stack tbody tr > th,.p-portal[data-portal] .p-table--stack.p-table--stack tbody tr > td{ order: 4; }.p-portal[data-portal] .p-table--stack.p-table--stack tbody tr > .p-col-actions{ order: 5; }.p-portal[data-portal] .p-table--stack.p-table--stack tbody tr > .p-col-photo,.p-portal[data-portal] .p-table--stack.p-table--stack tbody tr > .p-col-actions{
    grid-template-columns: minmax(0, 1fr);
  }.p-portal[data-portal] .p-table--stack.p-table--stack tbody tr > .p-col-photo::before,.p-portal[data-portal] .p-table--stack.p-table--stack tbody tr > .p-col-actions::before{
    content: none;
  }.p-portal[data-portal] .p-table--stack.p-table--stack tbody tr > .p-col-rank{
    font-size: 18px;
    font-weight: 700;
    color: #b0000d;
  }.p-portal[data-portal] .p-table--stack.p-table--stack tbody tr > .p-col-product b{
    font-size: 16px;
  }.p-portal[data-portal] .p-table--stack.p-table--stack .p-actions{
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
  }.p-portal[data-portal] .p-spec-scroll .p-table--stack.p-table--stack tbody tr > th,.p-portal[data-portal] .p-spec-scroll .p-table--stack.p-table--stack tbody tr > td{
    position: static;
    width: auto;
    min-width: 0;
    max-width: none;
    text-align: left;
  }.p-portal[data-portal] .p-spec-scroll:has(> .p-table--stack){
    overflow: visible;
  }.p-portal[data-portal] .p-table--stack.p-table--stack > caption:not(.p-sr-only):not(.p-hidden){
    display: block;
    width: 100%;
    text-align: left;
  }
}.p-portal[data-portal] .p-table .p-col-rank{
  white-space: nowrap;
}.p-portal[data-portal] .p-table tbody tr:nth-child(1) > .p-col-rank,.p-portal[data-portal] .p-table tbody tr:nth-child(2) > .p-col-rank,.p-portal[data-portal] .p-table tbody tr:nth-child(3) > .p-col-rank{
  color: #b0000d;
  font-size: 1.25em;
  font-weight: 800;
}.p-portal[data-portal] .p-table--rows .p-product__meta{
  display: none;
}@media (max-width: 850px){.p-portal[data-portal] .table-scroll:has(> .p-table--scroll){
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-inline: contain;
  }.p-portal[data-portal] .p-table--scroll.p-table--scroll{
    width: max-content;
    min-width: 100%;
    table-layout: fixed;
  }.p-portal[data-portal] .p-table--scroll.p-table--scroll :is(th, td):first-child{
    position: sticky;
    left: 0;
    z-index: 1;
    width: 150px;
    min-width: 150px;
    max-width: 150px;
    background: #fff;
  ;top:var(--ps-portal-sticky-top, 0px)}.p-portal[data-portal] .p-table--scroll.p-table--scroll thead th:first-child{
    z-index: 2;
    background: #161619;
  }.p-portal[data-portal] .p-table--scroll.p-table--scroll tbody tr:nth-child(even) > :first-child{
    background: #fff;
  }.p-portal[data-portal] .p-table--scroll.p-table--scroll tbody th:first-child img{
    width: 72px;
    height: 54px;
    object-fit: contain;
  }.p-portal[data-portal] .p-table--scroll.p-table--scroll tbody th:first-child a{
    font-size: 13px;
  }
}@media (max-width: 850px){.p-portal[data-portal] .table-scroll:has(> .p-table--rows){
    overflow: visible;
    border: 0;
  }.p-portal[data-portal] .p-table--rows.p-table--rows{
    display: block;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    border: 0;
  }.p-portal[data-portal] .p-table--rows.p-table--rows thead{
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    border: 0;
  }.p-portal[data-portal] .p-table--rows.p-table--rows tbody{
    display: grid;
    gap: 8px;
  }.p-portal[data-portal] .p-table--rows.p-table--rows tbody tr{
    display: grid;
    grid-template-columns: 84px minmax(0, 1fr);
    grid-template-areas:
      "photo product"
      "photo price"
      "photo meta"
      "actions actions";
    gap: 4px 14px;
    height: auto;
    padding: 12px;
    background: #fff;
    border: 1px solid #dce2e9;
  }.p-portal[data-portal] .p-table--rows.p-table--rows tbody tr[hidden]{
    display: none;
  }.p-portal[data-portal] .p-table--rows.p-table--rows tbody tr > th,.p-portal[data-portal] .p-table--rows.p-table--rows tbody tr > td{
    width: auto;
    min-width: 0;
    max-width: none;
    padding: 0;
    border: 0;
    text-align: left;
    white-space: normal;
  }.p-portal[data-portal] .p-table--rows.p-table--rows tbody tr > .p-col-actions{
    grid-area: actions;
    margin-top: 8px;
  }.p-portal[data-portal] .p-table--rows.p-table--rows tbody tr > .p-col-photo{
    grid-area: photo;
  }.p-portal[data-portal] .p-table--rows.p-table--rows tbody tr > .p-col-product,.p-portal[data-portal] .p-table--rows.p-table--rows .p-product{
    display: contents;
  }.p-portal[data-portal] .p-table--rows.p-table--rows .p-product > a{
    grid-area: product;
    align-self: end;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.45;
  }.p-portal[data-portal] .p-table--rows.p-table--rows .p-product__meta{
    display: block;
    grid-area: meta;
    align-self: start;
    color: #667085;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.5;
  }.p-portal[data-portal] .p-table--rows.p-table--rows tbody tr > .p-col-price{
    grid-area: price;
    color: #b0000d;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.45;
  }.p-portal[data-portal] .p-table--rows.p-table--rows .p-col-price small{
    font-size: 12px;
    font-weight: 400;
  }.p-portal[data-portal] .p-table--rows.p-table--rows tbody tr > :nth-child(n + 5){
    display: none;
  }.p-portal[data-portal] .p-table--rows.p-table--rows .p-photo{
    width: 84px;
    height: 66px;
    padding: 0;
    border: 0;
  }.p-portal[data-portal] .p-table--rows.p-table--rows .p-photo__img{
    width: 84px;
    height: 66px;
    max-width: none;
    max-height: none;
    object-fit: contain;
  }.p-portal[data-portal] .p-table--rows.p-table--rows .p-actions,.p-portal[data-portal] .p-table--rows.p-table--rows .p-actions .p-action{
    width: 100%;
    max-width: none;
  }
}.p-portal[data-portal] .p-table.p-table tbody > tr > :is(td, th){
  background-color: #fff;
}

/* 表とカードの操作ボタン */
.p-portal[data-portal] :is(
  .p-action--compare,
  .p-action--rental,
  .p-action--product,
  .p-action.p-btn--primary,
  .p-action.p-btn--secondary,
  .p-mk__btn
) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-height: 40px;
  padding: 0 12px;
  border-radius: 0;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
}

.p-portal[data-portal] :is(
  .p-action--compare,
  .p-action.p-btn--secondary
) {
  background: #fff;
  color: #292c30;
  border: 1px solid #9a9a9a;
}

.p-portal[data-portal] :is(
  .p-action--compare,
  .p-action.p-btn--secondary
)[aria-pressed="true"] {
  background: #e6e6e6;
  border-color: #666;
  color: #333;
}

.p-portal[data-portal] :is(
  .p-action--compare,
  .p-action.p-btn--secondary
)::before {
  content: "+";
  margin-right: 4px;
}

.p-portal[data-portal] :is(
  .p-action--compare,
  .p-action.p-btn--secondary
)[aria-pressed="true"]::before {
  content: "\2713";
}

.p-portal[data-portal] :is(
  .p-action--rental,
  .p-action.p-btn--primary
) {
  background: #b0000d;
  color: #fff;
  border: 1px solid #b0000d;
}

.p-portal[data-portal] :is(
  .p-action--product,
  .p-mk__btn
) {
  background: #fff;
  color: #292c30;
  border: 1px solid #292c30;
}

/* 表のページ送り。並びは「前へ・件数・ページの選択・次へ」。各ポータルで個別に書かない */
.p-portal[data-portal] .p-pager{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px;margin:16px 0 0;padding:0;color:#292c30;font-size:14px}
.p-portal[data-portal] .p-pager[hidden]{display:none}
.p-portal[data-portal] .p-pager button,.p-portal[data-portal] .p-pager select{box-sizing:border-box;min-height:40px;margin:0;padding:0 14px;border:1px solid #d6d7db;border-radius:0;background:#fff;color:#292c30;font:inherit;font-size:14px}
.p-portal[data-portal] .p-pager button:disabled{opacity:.4;cursor:not-allowed}
.p-portal[data-portal] .p-pager label{display:flex;align-items:center;gap:6px;margin:0;font-weight:400}
.p-portal[data-portal] .p-compare-qr{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center}.p-portal[data-portal] .p-compare-qr canvas,.p-portal[data-portal] .p-compare-qr svg{display:block;width:96px;height:96px;margin:0 auto}.p-portal[data-portal] .p-compare-qr__note{display:block;font-size:12px;line-height:1.45;color:#5f646d}
.p-portal .p-price{color:#c8102e;font-weight:900;white-space:nowrap}
.p-portal .p-price__yen{font-size:.62em;font-weight:700}
.p-portal .p-price__per{margin-left:.2em;color:#555;font-size:max(11px,.45em);font-weight:700}

/* 条件から探す（S-11）。外枠の中だけに効く。プルダウンを1行4つまで並べ、最後に「商品を検索」。8個目からは .p-filter__more（details）に入れる */
.p-portal[data-portal] .p-filter{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 8px;align-items:end;margin:0;padding:16px;border:1px solid #e1e2e4;border-radius:0;background:#fff}
.p-portal[data-portal] .p-filter__field{display:grid;gap:6px;min-width:0;margin:0;font-size:12px;font-weight:400;color:#666}
.p-portal[data-portal] .p-filter__field--wide{grid-column:span 2}
.p-portal[data-portal] .p-filter__field input,.p-portal[data-portal] .p-filter__field select{box-sizing:border-box;width:100%;height:48px;margin:0;padding:0 10px;border:1px solid #d6d7db;border-radius:0;background:#fff;color:#292c30;font:inherit;font-size:14px;font-weight:400}
.p-portal[data-portal] .p-filter__submit{box-sizing:border-box;width:100%;height:48px;margin:0;padding:0 16px;border:0;border-radius:0;background:#b0000d;color:#fff;font:inherit;font-size:15px;font-weight:700;cursor:pointer}
.p-portal[data-portal] .p-filter__more{grid-column:1/-1;margin:0;padding:0;border:0}
.p-portal[data-portal] .p-filter__more>summary{display:inline-flex;align-items:center;height:36px;padding:0 4px;color:#292c30;font-size:14px;font-weight:700;text-decoration:underline;cursor:pointer;list-style:none}
.p-portal[data-portal] .p-filter__more>summary::-webkit-details-marker{display:none}
.p-portal[data-portal] .p-filter__more-body{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 8px;margin:8px 0 0}
.p-portal[data-portal] .p-filter__submit:focus-visible,.p-portal[data-portal] .p-filter__reset:focus-visible,.p-portal[data-portal] .p-filter__more>summary:focus-visible{outline:2px solid #292c30;outline-offset:2px}
.p-portal[data-portal] .p-filter-result{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin:16px 0 0}
.p-portal[data-portal] .p-filter-result__count{margin:0;font-size:14px;color:#292c30}
.p-portal[data-portal] .p-filter-result__count strong{margin:0 2px;font-size:22px;font-weight:700;color:#b0000d}
.p-portal[data-portal] .p-filter__reset{box-sizing:border-box;height:36px;margin:0;padding:0 16px;border:1px solid #d6d7db;border-radius:0;background:#fff;color:#292c30;font:inherit;font-size:14px;text-decoration:none;cursor:pointer}
@media (max-width:899px){.p-portal[data-portal] .p-filter,.p-portal[data-portal] .p-filter__more-body{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:599px){.p-portal[data-portal] .p-filter,.p-portal[data-portal] .p-filter__more-body{grid-template-columns:1fr}.p-portal[data-portal] .p-filter__field--wide{grid-column:auto}}

.p-portal[data-portal] .p-rank{
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 16px;
  margin: 24px 0 0;
  padding: 0;
  list-style: none;
}.p-portal[data-portal] .p-rank__item{
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 44px 14px 14px;
  border: 1px solid #ddd;
  background: #fff;
}.p-portal[data-portal] .p-rank__no{
  position: absolute;
  top: 0;
  left: 0;
  padding: 6px 12px;
  background: #555;
  color: #fff;
  font-size: 20px;
  font-weight: 800;
  line-height: 1.2;
  font-variant-numeric: tabular-nums;
}.p-portal[data-portal] .p-rank__item:nth-child(1) .p-rank__no{
  background: #a78129;
}.p-portal[data-portal] .p-rank__item:nth-child(2) .p-rank__no{
  background: #737d86;
}.p-portal[data-portal] .p-rank__item:nth-child(3) .p-rank__no{
  background: #a26b48;
}.p-portal[data-portal] .p-rank__photo{
  display: block;
  margin: 0 0 10px;
}.p-portal[data-portal] .p-rank__photo img{
  display: block;
  width: 100%;
  height: 130px;
  object-fit: contain;
}.p-portal[data-portal] .p-rank__maker{
  margin: 0 0 4px;
  color: #666;
  font-size: 12px;
  line-height: 1.4;
}.p-portal[data-portal] .p-rank__name{
  margin: 0 0 10px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.6;
  overflow-wrap: anywhere;
}.p-portal[data-portal] .p-rank__name a{
  color: inherit;
  text-decoration: none;
}.p-portal[data-portal] .p-rank__name a:hover{
  text-decoration: underline;
}.p-portal[data-portal] .p-rank__meta{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  min-height: 27px;
  margin: auto 0 12px;
  font-variant-numeric: tabular-nums;
}.p-portal[data-portal] .p-rank__price{
  color: #b0000d;
  font-size: 18px;
  font-weight: 800;
  line-height: 1.5;
}.p-portal[data-portal] .p-rank__price--none{
  color: #666;
  font-size: 12px;
  font-weight: 400;
}.p-portal[data-portal] .p-rank__price small{
  margin-left: 2px;
  color: #666;
  font-size: 11px;
  font-weight: 400;
}.p-portal[data-portal] .p-rank__nocompare{
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  margin: 0;
  color: #666;
  font-size: 12px;
  line-height: 1.4;
  text-align: center;
}.p-portal[data-portal] .p-rank__actions{
  display: grid;
  gap: 8px;
}.p-portal[data-portal] .p-rank__actions .p-action{
  width: 100%;
}@media (max-width: 1100px){
  .p-portal[data-portal] .p-rank{
    gap: 12px;
  }.p-portal[data-portal] .p-rank__item{
    padding-inline: 10px;
  }
}@media (max-width: 899px){
  .p-portal[data-portal] .p-rank{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}@media (max-width: 700px){.p-portal[data-portal] .p-rank__item{
    padding: 40px 10px 10px;
  }.p-portal[data-portal] .p-rank__photo img{
    height: 100px;
  }.p-portal[data-portal] .p-rank__meta{
    min-height: 24px;
  }.p-portal[data-portal] .p-rank__price{
    font-size: 16px;
  }
}

/* メーカーから選ぶ（S-10）。外枠の中だけに効く。4社以下は .p-mk-grid--2、5〜6社は既定の3列 */
.p-portal[data-portal] .p-mk-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none}
.p-portal[data-portal] .p-mk-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.p-portal[data-portal] .p-mk{display:flex;flex-direction:column;gap:12px;margin:0;padding:16px;border:1px solid #dedede;border-radius:0;background:#fff}
.p-portal[data-portal] .p-mk__name{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;margin:0;font-size:20px;font-weight:700;line-height:1.3;color:#181818}
.p-portal[data-portal] .p-mk__name span{font-size:13px;font-weight:400;color:#686868}
.p-portal[data-portal] .p-mk p{margin:0;font-size:13px;line-height:1.6;color:#292c30}
.p-portal[data-portal] .p-mk__meta{font-weight:700;color:#181818}
.p-portal[data-portal] .p-mk__model{color:#686868}
.p-portal[data-portal] .p-mk__btn{width:100%;margin-top:auto;cursor:pointer}
.p-portal[data-portal] .p-mk__btn:focus-visible{outline:2px solid #292c30;outline-offset:2px}
.p-portal[data-portal] .p-mk-all{display:inline-block;margin:16px 0 0;font-size:14px;color:#292c30;text-decoration:underline}
@media (max-width:899px){.p-portal[data-portal] .p-mk-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:599px){.p-portal[data-portal] .p-mk-grid,.p-portal[data-portal] .p-mk-grid--2{grid-template-columns:1fr}}
.p-portal[data-portal] .p-mk-other{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin:16px 0 0;font-size:14px;color:#59636e}
.p-portal[data-portal] .p-mk-other>button{padding:0;border:0;background:none;color:#292c30;font:inherit;font-weight:700;text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.p-portal[data-portal] .p-mk-other>button:focus-visible{outline:2px solid #292c30;outline-offset:2px}
.p-portal[data-portal] .p-mk-other+.p-mk-all{display:block}
.p-portal[data-portal] .p-mk img{display:block;width:100%;height:160px;margin:0;object-fit:contain;background:#fff}
/* ほかのメーカー: 閉じた状態で置き、見出しにメーカーの数を出す。中のボタンの並びは .p-mk-other */
.p-portal[data-portal] .p-mk-others{margin:16px 0 0}
.p-portal[data-portal] .p-mk-others>summary{display:inline-flex;align-items:center;gap:6px;min-height:44px;color:#292c30;font-size:14px;font-weight:700;cursor:pointer;list-style:none}
.p-portal[data-portal] .p-mk-others>summary::-webkit-details-marker{display:none}
.p-portal[data-portal] .p-mk-others>summary::before{content:"";width:0;height:0;border-style:solid;border-width:5px 0 5px 7px;border-color:transparent transparent transparent currentColor}
.p-portal[data-portal] .p-mk-others[open]>summary::before{transform:rotate(90deg)}
.p-portal[data-portal] .p-mk-others>.p-mk-other{margin:8px 0 0}

/* メーカーから選ぶ（S-10・S-23）で開く、そのメーカーの商品の表。カードの並びの幅いっぱいに出す */
.p-portal[data-portal] .p-mk-list{grid-column:1/-1;box-sizing:border-box;min-width:0;max-width:100%;margin:0;padding:16px;border:1px solid #dedede;border-radius:0;background:#fff}
.p-portal[data-portal] .p-mk-grid+.p-mk-list{margin-top:16px}
.p-portal[data-portal] .p-mk-other>.p-mk-list{flex:0 0 100%;font-size:16px;font-weight:400;color:#181818}
.p-portal[data-portal] .p-mk-list__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px}
.p-portal[data-portal] .p-mk-list__title{margin:0;font-size:18px;font-weight:700;line-height:1.4;color:#181818}
.p-portal[data-portal] .p-mk-list__title:focus{outline:none}
.p-portal[data-portal] .p-mk-list__title:focus-visible{outline:2px solid currentColor;outline-offset:2px}
.p-portal[data-portal] .p-mk-list .p-mk__btn{width:auto;margin:0}
.p-portal[data-portal] .p-mk-list__scroll{overflow-x:auto}
.p-portal[data-portal] .p-mk-list__foot{margin:12px 0 0;text-align:center}
.p-portal[data-portal] .p-mk__btn[aria-expanded="true"]{background:#181818;border-color:#181818;color:#fff}

/* 用途別のおすすめ構成（S-13）。外枠の中だけに効く。用途のタブ → こんな方に → どうつなぐか（図） → まとめて借りられるセット → 言葉の意味 */
.p-portal[data-portal] .p-scene-tabs{display:flex;margin:0 0 24px;padding:0;list-style:none}
.p-portal[data-portal] .p-scene-tab{display:flex;flex:1;align-items:center;justify-content:center;gap:8px;min-height:56px;margin:0;padding:8px 12px;border:0;border-radius:0;background:#fff;color:#292c30;font:inherit;font-size:16px;font-weight:700;cursor:pointer}
.p-portal[data-portal] .p-scene-tab[aria-selected="true"]{background:#292c30;color:#fff}
.p-portal[data-portal] .p-scene-tab svg{width:24px;height:24px;fill:currentColor;flex:none}
.p-portal[data-portal] .p-scene-tab:focus-visible{outline:2px solid #292c30;outline-offset:2px}
.p-portal[data-portal] .p-scene{display:grid;gap:24px}
.p-portal[data-portal] .p-scene[hidden]{display:none}
.p-portal[data-portal] .p-scene__who{margin:0;padding:16px 20px;background:#fff;font-size:15px;line-height:1.7;color:#292c30}
.p-portal[data-portal] .p-scene__who b{margin-right:12px;color:#b0000d}
.p-portal[data-portal] .p-scene__h{margin:0 0 16px;font-size:18px;font-weight:700;line-height:1.5;color:#292c30}
.p-portal[data-portal] .p-scene__flow{padding:24px 16px 16px;border:1px solid #e1e2e4}
.p-portal[data-portal] .p-scene__steps{display:grid;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;margin:0;padding:0;list-style:none}
.p-portal[data-portal] .p-scene__step{position:relative;margin:0;padding:0 8px;text-align:center}
.p-portal[data-portal] .p-scene__step:not(:last-child)::after{content:"";position:absolute;top:36px;left:calc(50% + 36px);right:calc(-50% + 36px);height:2px;background:#292c30}
.p-portal[data-portal] .p-scene__icon{position:relative;z-index:1;display:grid;place-items:center;width:72px;height:72px;margin:0 auto 10px;border:2px solid #292c30;background:#fff;color:#292c30}
.p-portal[data-portal] .p-scene__icon svg{width:36px;height:36px;fill:currentColor}
.p-portal[data-portal] .p-scene__step--in .p-scene__icon{background:#292c30;color:#fff}
.p-portal[data-portal] .p-scene__step b{display:block;font-size:15px;color:#292c30}
.p-portal[data-portal] .p-scene__step p{margin:4px 0 0;font-size:13px;line-height:1.6;color:#666}
.p-portal[data-portal] .p-scene__badge{display:inline-block;margin:6px 0 0;padding:2px 8px;border:1px solid #d6d7db;font-size:12px;color:#292c30}
.p-portal[data-portal] .p-scene__step--in .p-scene__badge{border-color:#292c30;background:#292c30;color:#fff}
.p-portal[data-portal] .p-scene__legend{display:flex;flex-wrap:wrap;gap:16px;margin:16px 0 0;font-size:13px;color:#666}
.p-portal[data-portal] .p-scene__legend i{display:inline-block;width:14px;height:14px;margin-right:4px;border:2px solid #292c30;vertical-align:-2px}
.p-portal[data-portal] .p-scene__legend i.is-in{background:#292c30}
.p-portal[data-portal] .p-scene__sets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none}
.p-portal[data-portal] .p-scene__set{display:grid;grid-template-columns:120px minmax(0,1fr);gap:14px;margin:0;padding:16px;border:1px solid #dedede;background:#fff}
.p-portal[data-portal] .p-scene__set img{width:120px;height:90px;object-fit:contain}
.p-portal[data-portal] .p-scene__set h4{margin:0 0 4px;font-size:16px;line-height:1.5;color:#292c30}
.p-portal[data-portal] .p-scene__fit{margin:0 0 8px;font-size:13px;line-height:1.6}
.p-portal[data-portal] .p-scene__fit b{margin-right:8px;color:#b0000d}
.p-portal[data-portal] .p-scene__items{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}
.p-portal[data-portal] .p-scene__items li{margin:0;padding:2px 8px;border:1px solid #d6d7db;font-size:12px}
.p-portal[data-portal] .p-scene__foot{display:flex;grid-column:1/-1;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:12px 0 0}
.p-portal[data-portal] .p-scene__price{font-weight:700}
.p-portal[data-portal] .p-scene__go{display:inline-flex;align-items:center;height:40px;padding:0 18px;border-radius:0;background:#b0000d;color:#fff;font-size:14px;font-weight:700;text-decoration:none}
.p-portal[data-portal] .p-scene__words{border:1px solid #e1e2e4}
.p-portal[data-portal] .p-scene__words>summary{padding:14px 16px;font-weight:700;cursor:pointer}
.p-portal[data-portal] .p-scene__words dl{display:grid;grid-template-columns:120px minmax(0,1fr);gap:8px 16px;margin:0;padding:0 16px 16px;font-size:14px}
.p-portal[data-portal] .p-scene__words dt{font-weight:700}
.p-portal[data-portal] .p-scene__words dd{margin:0;color:#666}
@media (max-width:899px){.p-portal[data-portal] .p-scene__steps{grid-auto-flow:row;grid-template-columns:repeat(2,minmax(0,1fr));row-gap:24px}.p-portal[data-portal] .p-scene__step::after{display:none}.p-portal[data-portal] .p-scene__sets{grid-template-columns:1fr}}
@media (max-width:599px){.p-portal[data-portal] .p-scene-tabs{flex-direction:column;border-bottom:0}.p-portal[data-portal] .p-scene__set{grid-template-columns:1fr}.p-portal[data-portal] .p-scene__words dl{grid-template-columns:1fr}}
.p-portal[data-portal] .p-scene-tabs>li{display:flex;flex:1;min-width:0}
.p-portal[data-portal] .p-scene-tabs>li>.p-scene-tab{width:100%}
@media (max-width:599px){
  .p-portal[data-portal] [id$="-ranking"] .p-scene-tabs{flex-direction:row;overflow-x:auto;scrollbar-width:none}
  .p-portal[data-portal] [id$="-ranking"] .p-scene-tabs>li{flex:1 1 0;min-width:max-content}
  .p-portal[data-portal] [id$="-ranking"] .p-scene-tab{padding-inline:6px;font-size:13px;white-space:nowrap}
}
.p-portal[data-portal] .p-scene-tabs{gap:8px}
.p-portal[data-portal] .p-scene-tab{border:1px solid #d6d7db}
.p-portal[data-portal] .p-scene-tab[aria-selected="true"]{border-color:#292c30}

/* レンタル方法（S-14）とよくある質問（S-15）。外枠の中だけに効く */
.p-portal[data-portal] .p-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none;counter-reset:p-step}
.p-portal[data-portal] .p-steps__item{margin:0;padding:20px 16px 16px;border:1px solid #dedede;border-radius:0;background:#fff;counter-increment:p-step}
.p-portal[data-portal] .p-steps__item::before{content:counter(p-step);display:grid;place-items:center;width:32px;height:32px;margin:0 0 12px;background:#292c30;color:#fff;font-size:16px;font-weight:700}
.p-portal[data-portal] .p-steps__item h3{margin:0 0 8px;font-size:16px;font-weight:700;line-height:1.5;color:#292c30}
.p-portal[data-portal] .p-steps__item p{margin:0;font-size:14px;line-height:1.7;color:#444}
.p-portal[data-portal] .p-guide-links{display:flex;flex-wrap:wrap;gap:8px 24px;margin:16px 0 0;padding:0;list-style:none;font-size:14px}
.p-portal[data-portal] .p-guide-links a{color:#292c30;text-decoration:underline}
.p-portal[data-portal] .p-faq{margin:0;padding:0;border-top:1px solid #dedede}
.p-portal[data-portal] .p-faq__item{margin:0;border-bottom:1px solid #dedede}
.p-portal[data-portal] .p-faq__item>summary{display:flex;align-items:baseline;gap:12px;padding:16px 4px;font-size:16px;font-weight:700;line-height:1.6;color:#292c30;cursor:pointer;list-style:none}
.p-portal[data-portal] .p-faq__item>summary::-webkit-details-marker{display:none}
.p-portal[data-portal] .p-faq__item>summary::before{content:"Q";flex:none;color:#b0000d;font-weight:800}
.p-portal[data-portal] .p-faq__item>summary:focus-visible{outline:2px solid #292c30;outline-offset:2px}
.p-portal[data-portal] .p-faq__a{display:flex;gap:12px;margin:0;padding:0 4px 16px;font-size:14px;line-height:1.8;color:#444}
.p-portal[data-portal] .p-faq__a::before{content:"A";flex:none;color:#292c30;font-weight:800;font-size:16px}
.p-portal[data-portal] .p-faq__a a{color:#292c30;text-decoration:underline}
@media (max-width:899px){.p-portal[data-portal] .p-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:599px){.p-portal[data-portal] .p-steps{grid-template-columns:1fr}}

/* 掲載情報と出典（S-09 の⑪）と締めの帯（S-25）。外枠の中だけに効く */
.p-portal[data-portal] .p-sources{box-sizing:border-box;width:min(1068px,100%);margin:0 auto;padding:24px 16px 40px;color:#59636e;font-size:12px;line-height:1.8}
.p-portal[data-portal] .p-sources__title{display:inline-flex;align-items:center;gap:6px;min-height:44px;margin:0;padding:0;border:0;background:none;color:#292c30;font-size:13px;font-weight:700;line-height:1.6;letter-spacing:0;cursor:pointer;list-style:none}
.p-portal[data-portal] .p-sources__title::-webkit-details-marker{display:none}
.p-portal[data-portal] .p-sources__title::before{content:"";width:0;height:0;border-style:solid;border-width:5px 0 5px 7px;border-color:transparent transparent transparent currentColor;transition:transform .15s}
.p-portal[data-portal] .p-sources[open]>.p-sources__title::before{transform:rotate(90deg)}
.p-portal[data-portal] .p-sources__title:focus-visible{outline:2px solid #292c30;outline-offset:2px}
.p-portal[data-portal] .p-sources__body{padding:4px 0 0}
.p-portal[data-portal] .p-sources p{margin:0;color:inherit;font-size:inherit;line-height:inherit}
.p-portal[data-portal] .p-sources ul{margin:8px 0 0;padding-left:20px}
.p-portal[data-portal] .p-sources a{color:#1762a3;text-decoration:underline}

