/* =========================================================
 * PRIME GEAR Blocks — レイアウト
 * 通常レイアウトはSWELLリッチカラム基準。
 * 横スクロールはPRIME GEAR 記事リストの操作感を共通化。
 * ========================================================= */
.pg-layout{
  --pg-clmn-margin-x:1.5rem;
  --pg-clmn-margin-y:1.5rem;
  --pg-clmn-padding:0;
  position:relative;
}
.pg-layout[data-valign="top"]>.pg-layout__track{align-items:flex-start}
.pg-layout[data-valign="center"]>.pg-layout__track{align-items:center}
.pg-layout[data-valign="bottom"]>.pg-layout__track{align-items:flex-end}

/* =========================================================
 * 通常カラム
 * ========================================================= */
.pg-layout__track{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-start;
  margin-top:0!important;
  margin-left:calc(-1 * var(--pg-clmn-margin-x));
  row-gap:var(--pg-clmn-margin-y);
}

.pg-layout__item{
  --pg-clmn-w:var(--pg-clmn-w-mobile,100%);
}
@media (min-width:600px){
  .pg-layout__item{--pg-clmn-w:var(--pg-clmn-w-tablet,50%)}
}
@media (min-width:960px){
  .pg-layout__item{--pg-clmn-w:var(--pg-clmn-w-pc,50%)}
}
.pg-layout .pg-layout__item{
  width:calc(var(--pg-clmn-w) - var(--pg-clmn-margin-x));
  margin:0 0 0 var(--pg-clmn-margin-x);
  padding:var(--pg-clmn-padding);
}
.pg-layout__item[data-valign="top"]{align-self:flex-start}
.pg-layout__item[data-valign="center"]{align-self:center}
.pg-layout__item[data-valign="bottom"]{align-self:flex-end}

/* =========================================================
 * PRIME GEAR 横スクロール
 * 記事リストの横スクロール仕様をレイアウト向けに適用。
 * 端末ごとにON/OFF可能。Snapも独立設定。
 * ========================================================= */

/* Mobile (<600px) */
@media (max-width:599px){
  .pg-layout[data-scrollable="1"][data-scroll-mobile="1"]>.pg-layout__track{
    display:flex;
    flex-wrap:nowrap;
    align-items:flex-start;
    gap:1rem;
    width:100vw;
    max-width:100vw;
    margin-inline:calc(50% - 50vw);
    padding:0 calc((100vw - var(--pg-layout-scroll-w-mobile,80vw)) / 2) 10px;
    overflow-x:auto;
    overflow-y:hidden;
    overscroll-behavior-inline:contain;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    -ms-overflow-style:none;
    scroll-snap-type:none;
  }
  .pg-layout[data-scrollable="1"][data-scroll-mobile="1"]>.pg-layout__track::-webkit-scrollbar{display:none}
  .pg-layout[data-scrollable="1"][data-scroll-mobile="1"]>.pg-layout__track>.pg-layout__item{
    flex:0 0 var(--pg-layout-scroll-item-w-mobile,var(--pg-layout-scroll-w-mobile,80vw));
    width:var(--pg-layout-scroll-item-w-mobile,var(--pg-layout-scroll-w-mobile,80vw));
    min-width:var(--pg-layout-scroll-item-w-mobile,var(--pg-layout-scroll-w-mobile,80vw));
    margin:0;
  }
  .pg-layout[data-scrollable="1"][data-scroll-mobile="1"][data-scroll-snap="1"]>.pg-layout__track{
    scroll-snap-type:x mandatory;
  }
  .pg-layout[data-scrollable="1"][data-scroll-mobile="1"][data-scroll-snap="1"]>.pg-layout__track>.pg-layout__item{
    scroll-snap-align:center;
    scroll-snap-stop:always;
  }
}

/* Tablet (600–959px) */
@media (min-width:600px) and (max-width:959px){
  .pg-layout[data-scrollable="1"][data-scroll-tablet="1"]>.pg-layout__track{
    display:flex;
    flex-wrap:nowrap;
    align-items:flex-start;
    gap:var(--pg-clmn-margin-x,1.5rem);
    width:100%;
    margin:0;
    padding:0 0 12px;
    overflow-x:auto;
    overflow-y:hidden;
    overscroll-behavior-inline:contain;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    -ms-overflow-style:none;
    scroll-snap-type:none;
  }
  .pg-layout[data-scrollable="1"][data-scroll-tablet="1"]>.pg-layout__track::-webkit-scrollbar{display:none}
  .pg-layout[data-scrollable="1"][data-scroll-tablet="1"]>.pg-layout__track>.pg-layout__item{
    flex:0 0 var(--pg-layout-scroll-item-w-tablet,var(--pg-layout-scroll-w-tablet,clamp(280px,36%,380px)));
    width:var(--pg-layout-scroll-item-w-tablet,var(--pg-layout-scroll-w-tablet,clamp(280px,36%,380px)));
    min-width:var(--pg-layout-scroll-item-w-tablet,var(--pg-layout-scroll-w-tablet,clamp(280px,36%,380px)));
    margin:0;
  }
  .pg-layout[data-scrollable="1"][data-scroll-tablet="1"][data-scroll-snap="1"]>.pg-layout__track{
    scroll-snap-type:x mandatory;
  }
  .pg-layout[data-scrollable="1"][data-scroll-tablet="1"][data-scroll-snap="1"]>.pg-layout__track>.pg-layout__item{
    scroll-snap-align:start;
    scroll-snap-stop:always;
  }
}

/* PC (>=960px) */
@media (min-width:960px){
  .pg-layout[data-scrollable="1"][data-scroll-pc="1"]>.pg-layout__track{
    display:flex;
    flex-wrap:nowrap;
    align-items:flex-start;
    gap:var(--pg-clmn-margin-x,1.5rem);
    box-sizing:border-box;
    width:100%;
    margin:0;
    padding:0 0 12px;
    overflow-x:auto;
    overflow-y:hidden;
    overscroll-behavior-inline:contain;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    -ms-overflow-style:none;
    scroll-snap-type:none;
  }
  .pg-layout[data-scrollable="1"][data-scroll-pc="1"]>.pg-layout__track::-webkit-scrollbar{display:none}
  .pg-layout[data-scrollable="1"][data-scroll-pc="1"]>.pg-layout__track>.pg-layout__item{
    flex:0 0 var(--pg-layout-scroll-item-w-pc,var(--pg-layout-scroll-w-pc,clamp(280px,36%,380px)));
    width:var(--pg-layout-scroll-item-w-pc,var(--pg-layout-scroll-w-pc,clamp(280px,36%,380px)));
    min-width:var(--pg-layout-scroll-item-w-pc,var(--pg-layout-scroll-w-pc,clamp(280px,36%,380px)));
    margin:0;
  }
  .pg-layout[data-scrollable="1"][data-scroll-pc="1"][data-scroll-snap="1"]>.pg-layout__track{
    padding-left:var(--pg-layout-snap-pad-left,0px);
    padding-right:var(--pg-layout-snap-pad-right,0px);
    scroll-padding-left:var(--pg-layout-snap-pad-left,0px);
    scroll-padding-right:var(--pg-layout-snap-pad-right,0px);
    scroll-snap-type:x proximity;
  }
  .pg-layout[data-scrollable="1"][data-scroll-pc="1"][data-scroll-snap="1"]>.pg-layout__track>.pg-layout__item{
    scroll-snap-align:center;
    scroll-snap-stop:always;
  }
}

/*
 * Scroll Snap 位置
 * - 左寄せ: 先頭=start / 中間=center / 末尾=end。端に大きな余白を作らない。
 * - 中央: 全カラム=center。JSで先頭/末尾の中央表示に必要な余白を算出する。
 * data属性が無い旧ブロックは「左寄せ」として扱う。
 */
.pg-layout[data-scrollable="1"][data-scroll-snap="1"]>.pg-layout__track>.pg-layout__item{
  scroll-snap-align:center;
}
.pg-layout[data-scrollable="1"][data-scroll-snap="1"]:not([data-scroll-snap-position="center"])>.pg-layout__track>.pg-layout__item:first-child{
  scroll-snap-align:start;
}
.pg-layout[data-scrollable="1"][data-scroll-snap="1"]:not([data-scroll-snap-position="center"])>.pg-layout__track>.pg-layout__item:last-child{
  scroll-snap-align:end;
}

@media (max-width:599px){
  /*
   * SPはv0.8.82以前と同じく、設定が「左寄せ」でも全項目をcenter snapにする。
   * PCの端余白なし仕様は960px以上のルールで維持する。
   */
  .pg-layout[data-scrollable="1"][data-scroll-mobile="1"][data-scroll-snap="1"]>.pg-layout__track{
    padding-left:calc((100vw - var(--pg-layout-scroll-item-w-mobile,var(--pg-layout-scroll-w-mobile,80vw))) / 2);
    padding-right:calc((100vw - var(--pg-layout-scroll-item-w-mobile,var(--pg-layout-scroll-w-mobile,80vw))) / 2);
    scroll-padding-left:calc((100vw - var(--pg-layout-scroll-item-w-mobile,var(--pg-layout-scroll-w-mobile,80vw))) / 2);
    scroll-padding-right:calc((100vw - var(--pg-layout-scroll-item-w-mobile,var(--pg-layout-scroll-w-mobile,80vw))) / 2);
  }
  .pg-layout[data-scrollable="1"][data-scroll-mobile="1"][data-scroll-snap="1"]>.pg-layout__track>.pg-layout__item,
  .pg-layout[data-scrollable="1"][data-scroll-mobile="1"][data-scroll-snap="1"]:not([data-scroll-snap-position="center"])>.pg-layout__track>.pg-layout__item:first-child,
  .pg-layout[data-scrollable="1"][data-scroll-mobile="1"][data-scroll-snap="1"]:not([data-scroll-snap-position="center"])>.pg-layout__track>.pg-layout__item:last-child{
    scroll-snap-align:center;
  }
}
@media (min-width:600px) and (max-width:959px){
  .pg-layout[data-scrollable="1"][data-scroll-tablet="1"][data-scroll-snap="1"][data-scroll-snap-position="center"]>.pg-layout__track{
    padding-left:var(--pg-layout-snap-pad-left,0px);
    padding-right:var(--pg-layout-snap-pad-right,0px);
    scroll-padding-left:var(--pg-layout-snap-pad-left,0px);
    scroll-padding-right:var(--pg-layout-snap-pad-right,0px);
  }
}
@media (min-width:960px){
  .pg-layout[data-scrollable="1"][data-scroll-pc="1"][data-scroll-snap="1"]:not([data-scroll-snap-position="center"])>.pg-layout__track{
    padding-left:0;
    padding-right:0;
    scroll-padding-left:0;
    scroll-padding-right:0;
  }
}

/* overflow時だけ操作ヒントを表示。 */
.pg-layout__scrollHint{
  display:none;
  align-items:center;
  justify-content:center;
  gap:5px;
  width:max-content;
  margin:0 8px .8em auto;
  color:#8c8f96;
  font-size:11px;
  font-weight:500;
  line-height:1.4;
  letter-spacing:.02em;
  user-select:none;
  pointer-events:none;
}
.pg-layout.is-pg-overflowing .pg-layout__scrollHint:not([hidden]){display:flex}
.pg-layout__scrollHintIcon{
  display:block;
  width:12px;
  height:12px;
  fill:currentColor;
  flex:0 0 auto;
  opacity:.72;
}
.pg-layout__scrollHintIcon--left{
  animation:pgLayoutScrollHintLeft 1.7s ease-in-out infinite;
}
.pg-layout__scrollHintIcon--right{
  animation:pgLayoutScrollHintRight 1.7s ease-in-out infinite;
}
@keyframes pgLayoutScrollHintLeft{
  0%,100%{transform:translateX(0);opacity:.62}
  50%{transform:translateX(-3px);opacity:1}
}
@keyframes pgLayoutScrollHintRight{
  0%,100%{transform:translateX(0);opacity:.62}
  50%{transform:translateX(3px);opacity:1}
}

/* 記事リストと同じPCホイール操作ヒント。 */
.pg-layout__wheelHint{
  display:none;
  position:absolute;
  z-index:5;
  top:34px;
  left:50%;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  color:#4b5563;
  font-size:12px;
  font-weight:600;
  line-height:1.35;
  white-space:nowrap;
  background:rgba(255,255,255,.88);
  border:1px solid rgba(17,24,39,.08);
  border-radius:999px;
  box-shadow:0 8px 24px rgba(17,24,39,.08);
  backdrop-filter:blur(10px) saturate(140%);
  -webkit-backdrop-filter:blur(10px) saturate(140%);
  pointer-events:none;
  opacity:0;
  visibility:hidden;
  transform:translate(-50%,-5px);
  transition:opacity .28s ease,transform .28s ease,visibility .28s ease;
}
@media (hover:hover) and (pointer:fine){
  .pg-layout.is-pg-overflowing.is-pg-wheel-hint-visible .pg-layout__wheelHint:not([hidden]){
    display:flex;
    opacity:1;
    visibility:visible;
    transform:translate(-50%,0);
  }
}
.pg-layout__wheelHintMouse{
  display:block;
  width:19px;
  height:19px;
  flex:0 0 auto;
  fill:currentColor;
  overflow:visible;
}
.pg-layout__wheelHintWheel{
  transform-box:fill-box;
  transform-origin:center;
  animation:pgLayoutMouseWheel 1.05s cubic-bezier(.4,0,.2,1) infinite;
}
@keyframes pgLayoutMouseWheel{
  0%,100%{transform:translateY(-3px);opacity:.55}
  45%{transform:translateY(4px);opacity:1}
  70%{transform:translateY(4px);opacity:.8}
}

/* プログラム送り / ドラッグ中はSnap競合を止める。 */
.pg-layout[data-scrollable="1"]>.pg-layout__track.is-pg-programmatic-scrolling,
.pg-layout[data-scrollable="1"]>.pg-layout__track.is-pg-wheel-scrolling,
.pg-layout[data-scrollable="1"]>.pg-layout__track.is-pg-dragging{
  scroll-snap-type:none!important;
}

/* マウス操作は、現在のブレークポイントで横スクロールが有効な時だけ。 */
@media (hover:hover) and (pointer:fine) and (max-width:599px){
  .pg-layout[data-scrollable="1"][data-scroll-mobile="1"]>.pg-layout__track{cursor:grab;user-select:none;-webkit-user-select:none}
  .pg-layout[data-scrollable="1"][data-scroll-mobile="1"]>.pg-layout__track.is-pg-dragging{cursor:grabbing;scroll-behavior:auto}
}
@media (hover:hover) and (pointer:fine) and (min-width:600px) and (max-width:959px){
  .pg-layout[data-scrollable="1"][data-scroll-tablet="1"]>.pg-layout__track{cursor:grab;user-select:none;-webkit-user-select:none}
  .pg-layout[data-scrollable="1"][data-scroll-tablet="1"]>.pg-layout__track.is-pg-dragging{cursor:grabbing;scroll-behavior:auto}
}
@media (hover:hover) and (pointer:fine) and (min-width:960px){
  .pg-layout[data-scrollable="1"][data-scroll-pc="1"]>.pg-layout__track{cursor:grab;user-select:none;-webkit-user-select:none}
  .pg-layout[data-scrollable="1"][data-scroll-pc="1"]>.pg-layout__track.is-pg-dragging{cursor:grabbing;scroll-behavior:auto}
}
.pg-layout[data-scrollable="1"]>.pg-layout__track.is-pg-dragging a,
.pg-layout[data-scrollable="1"]>.pg-layout__track.is-pg-dragging img{
  pointer-events:none!important;
  -webkit-user-drag:none;
}

@media (max-width:599px){
  .pg-layout__scrollHint{margin:0 6px .62em auto;font-size:10.5px}
  .pg-layout__wheelHint{display:none!important}
}

@media (prefers-reduced-motion:reduce){
  .pg-layout__scrollHintIcon--left,
  .pg-layout__scrollHintIcon--right,
  .pg-layout__wheelHintWheel{animation:none}
  .pg-layout__wheelHint{transition:none}
}

/* =========================================================
 * v0.8.76 — レイアウト / スライダー
 * 横スクロールとは同一端末で排他。Touch / trackpad はnative swipe。
 * ========================================================= */
.pg-layout__sliderArrows,
.pg-layout__sliderDots{display:none}

/* Mobile (<600px) */
@media (max-width:599px){
  .pg-layout[data-slider="1"][data-slider-mobile="1"]{
    display:grid;
    grid-template-columns:minmax(0,1fr);
  }
  .pg-layout[data-slider="1"][data-slider-mobile="1"]>.pg-layout__track{
    grid-column:1;
    grid-row:1;
    display:flex;
    flex-wrap:nowrap;
    align-items:stretch;
    gap:var(--pg-clmn-margin-x,1.5rem);
    width:100%;
    margin:0;
    padding:0;
    overflow-x:auto;
    overflow-y:hidden;
    overscroll-behavior-inline:contain;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    -ms-overflow-style:none;
    scroll-snap-type:x mandatory;
    scroll-behavior:smooth;
  }
  .pg-layout[data-slider="1"][data-slider-mobile="1"]>.pg-layout__track::-webkit-scrollbar{display:none}
  .pg-layout[data-slider="1"][data-slider-mobile="1"]>.pg-layout__track>.pg-layout__item{
    flex:0 0 var(--pg-layout-slider-item-width,100%);
    width:var(--pg-layout-slider-item-width,100%);
    min-width:var(--pg-layout-slider-item-width,100%);
    margin:0;
    scroll-snap-align:start;
    scroll-snap-stop:always;
  }
}

/* Tablet (600–959px) */
@media (min-width:600px) and (max-width:959px){
  .pg-layout[data-slider="1"][data-slider-tablet="1"]{
    display:grid;
    grid-template-columns:minmax(0,1fr);
  }
  .pg-layout[data-slider="1"][data-slider-tablet="1"]>.pg-layout__track{
    grid-column:1;
    grid-row:1;
    display:flex;
    flex-wrap:nowrap;
    align-items:stretch;
    gap:var(--pg-clmn-margin-x,1.5rem);
    width:100%;
    margin:0;
    padding:0;
    overflow-x:auto;
    overflow-y:hidden;
    overscroll-behavior-inline:contain;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    -ms-overflow-style:none;
    scroll-snap-type:x mandatory;
    scroll-behavior:smooth;
  }
  .pg-layout[data-slider="1"][data-slider-tablet="1"]>.pg-layout__track::-webkit-scrollbar{display:none}
  .pg-layout[data-slider="1"][data-slider-tablet="1"]>.pg-layout__track>.pg-layout__item{
    flex:0 0 var(--pg-layout-slider-item-width,50%);
    width:var(--pg-layout-slider-item-width,50%);
    min-width:var(--pg-layout-slider-item-width,50%);
    margin:0;
    scroll-snap-align:start;
    scroll-snap-stop:always;
  }
}

/* PC (>=960px) */
@media (min-width:960px){
  .pg-layout[data-slider="1"][data-slider-pc="1"]{
    display:grid;
    grid-template-columns:minmax(0,1fr);
  }
  .pg-layout[data-slider="1"][data-slider-pc="1"]>.pg-layout__track{
    grid-column:1;
    grid-row:1;
    display:flex;
    flex-wrap:nowrap;
    align-items:stretch;
    gap:var(--pg-clmn-margin-x,1.5rem);
    width:100%;
    margin:0;
    padding:0;
    overflow-x:auto;
    overflow-y:hidden;
    overscroll-behavior-inline:contain;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    -ms-overflow-style:none;
    scroll-snap-type:x mandatory;
    scroll-behavior:smooth;
  }
  .pg-layout[data-slider="1"][data-slider-pc="1"]>.pg-layout__track::-webkit-scrollbar{display:none}
  .pg-layout[data-slider="1"][data-slider-pc="1"]>.pg-layout__track>.pg-layout__item{
    flex:0 0 var(--pg-layout-slider-item-width,33.3333%);
    width:var(--pg-layout-slider-item-width,33.3333%);
    min-width:var(--pg-layout-slider-item-width,33.3333%);
    margin:0;
    scroll-snap-align:start;
    scroll-snap-stop:always;
  }
}

/* v0.9.58 — スライダー矢印をCSS描画に変更
 * 丸ボタンの位置はv0.9.57の左右端中央・半分重なる配置を維持。
 * テーマ側のSVGスタイルの影響を完全に避けるため、矢印は疑似要素で描画する。
 * 疑似要素をabsoluteで50%/50%へ固定し、丸の幾何学的中心へ配置。
 */
.pg-layout.is-pg-slider-active .pg-layout__sliderArrows{
  grid-column:1;
  grid-row:1;
  position:relative;
  z-index:8;
  align-self:stretch;
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-inline:-18px;
  pointer-events:none;
}
.pg-layout__sliderArrow{
  position:relative;
  width:38px;
  height:38px;
  padding:0!important;
  margin:0!important;
  border:1px solid rgba(17,24,39,.10);
  border-radius:999px;
  background:rgba(255,255,255,.94);
  color:#374151;
  display:block;
  box-sizing:border-box;
  box-shadow:0 8px 22px rgba(17,24,39,.12);
  appearance:none;
  -webkit-appearance:none;
  cursor:pointer;
  pointer-events:auto;
  line-height:0!important;
  font-size:0!important;
  text-indent:0!important;
  transition:opacity .18s ease,transform .18s ease,box-shadow .18s ease;
}
.pg-layout__sliderArrow:hover{transform:scale(1.05);box-shadow:0 10px 26px rgba(17,24,39,.16)}
.pg-layout__sliderArrow:disabled{opacity:.28;cursor:default;transform:none}
/* 元SVGはマークアップ互換のため残すが、表示には使わない */
.pg-layout__sliderArrow svg{display:none!important}
.pg-layout__sliderArrow::before{
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  width:7px;
  height:7px;
  box-sizing:border-box;
  border-top:1.75px solid currentColor;
  border-right:1.75px solid currentColor;
  transform-origin:50% 50%;
  pointer-events:none;
}
.pg-layout__sliderArrow--prev::before{
  transform:translate(-42%,-50%) rotate(-135deg);
}
.pg-layout__sliderArrow--next::before{
  transform:translate(-58%,-50%) rotate(45deg);
}
.pg-layout__sliderArrow[hidden]{display:none!important}

.pg-layout.is-pg-slider-active .pg-layout__sliderDots:not([hidden]){
  grid-column:1;
  grid-row:2;
  position:relative;
  z-index:9;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-height:10px;
  margin:14px 0 2px!important;
  padding:0;
  transform:none;
}
.pg-layout__sliderDot{
  position:relative;
  z-index:1;
  width:7px;
  height:7px;
  padding:0;
  margin:0;
  border:0;
  border-radius:999px;
  background:#c7cbd1;
  appearance:none;
  cursor:pointer;
  touch-action:manipulation;
  transition:width .2s ease,background-color .2s ease,opacity .2s ease;
}
/* v0.9.61 — 見た目は小さいdotのまま、クリック/タップ判定だけ約29pxへ拡張。 */
.pg-layout__sliderDot::before{
  content:"";
  position:absolute;
  top:-11px;
  right:-11px;
  bottom:-11px;
  left:-11px;
  border-radius:999px;
  background:transparent;
}
.pg-layout__sliderDot.is-active{width:22px;background:#555d66}

@media (max-width:767px){
  .pg-layout.is-pg-slider-active .pg-layout__sliderArrows{margin-inline:-16px}
  .pg-layout__sliderArrow{width:34px;height:34px}
  .pg-layout__sliderArrow::before{width:6.5px;height:6.5px}
}

.pg-layout[data-slider="1"]>.pg-layout__track a,
.pg-layout[data-slider="1"]>.pg-layout__track img{
  -webkit-user-drag:none;
}
.pg-layout[data-slider="1"]>.pg-layout__track.is-pg-slider-dragging{
  scroll-snap-type:none!important;
  scroll-behavior:auto!important;
  cursor:grabbing;
  user-select:none;
}
@media (hover:hover) and (pointer:fine){
  .pg-layout.is-pg-slider-active>.pg-layout__track{cursor:grab}
  .pg-layout.is-pg-slider-active>.pg-layout__track.is-pg-slider-dragging{cursor:grabbing}
}

@media (prefers-reduced-motion:reduce){
  .pg-layout[data-slider="1"]>.pg-layout__track{scroll-behavior:auto!important}
  .pg-layout__sliderArrow,.pg-layout__sliderDot{transition:none!important}
}

/* =========================================================
 * v0.8.81 — 垂直配置のモード間統一
 * 横スクロール / スライダーでも親の垂直配置ツールバーを有効にする。
 * 各モードの既定 align-items は維持し、明示指定時だけ上書き。
 * ========================================================= */
.pg-layout[data-scrollable="1"][data-valign="top"]>.pg-layout__track,
.pg-layout[data-slider="1"][data-valign="top"]>.pg-layout__track{align-items:flex-start}
.pg-layout[data-scrollable="1"][data-valign="center"]>.pg-layout__track,
.pg-layout[data-slider="1"][data-valign="center"]>.pg-layout__track{align-items:center}
.pg-layout[data-scrollable="1"][data-valign="bottom"]>.pg-layout__track,
.pg-layout[data-slider="1"][data-valign="bottom"]>.pg-layout__track{align-items:flex-end}


/* v0.9.52 — レイアウトスライダーのシームレス境界clone
 * 境界clone表示中も通常リンクだけはクリック可能。
 * フォーム・ボタン等の複製UIは誤操作を避けるため非操作のまま。
 */
.pg-layout.is-pg-seamless-loop>.pg-layout__track>.is-pg-layout-loop-clone{
  pointer-events:auto!important;
  user-select:none!important;
  -webkit-user-select:none!important;
}
.pg-layout.is-pg-seamless-loop>.pg-layout__track>.is-pg-layout-loop-clone *{
  pointer-events:none!important;
}
.pg-layout.is-pg-seamless-loop>.pg-layout__track>.is-pg-layout-loop-clone a[href]{
  pointer-events:auto!important;
}
