@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700&display=swap');
.ps-canvas{
  --ps-primary:           #2563EB;
  --ps-accent:            #0F766E;
  --ps-bg:                #FFFFFF;
  --ps-text:              #0F172A;
  --ps-subtle:            #64748B;
  --ps-section-bg:        #F8FAFC;
  --ps-nav-bg:            #FFFFFF;
  --ps-nav-text:          #0F172A;
  --ps-font-base:         'Noto Sans JP', sans-serif;
  --ps-font-heading:      'Noto Sans JP', sans-serif;
  --ps-weight-heading:    700;
  --ps-weight-body:       400;
  --ps-radius:            10px;
  --ps-section-padding-y: 88px;
  --ps-block-gap:         1.5rem;
}
.ps-canvas *,.ps-canvas *::before,.ps-canvas *::after{box-sizing:border-box;margin:0;padding:0;}
.ps-canvas img,.ps-canvas video,.ps-canvas iframe{max-width:100%;display:block;}
/* 横はみ出し防止は clip を使う（hidden だと body がスクロールコンテナ化して
   position:sticky（フルスクリーンスライダー等）が効かなくなる） */
html,body{margin:0;overflow-x:clip;}
.ps-canvas{background-color:var(--ps-bg);color:var(--ps-text);font-family:var(--ps-font-base);font-weight:var(--ps-weight-body);line-height:1.8;-webkit-font-smoothing:antialiased;}
.ps-canvas .ps-section{width:100%;padding-block:var(--ps-section-padding-y);}
.ps-canvas .ps-bg-white  {background:var(--ps-bg);}
.ps-canvas .ps-bg-light  {background:var(--ps-section-bg);}
.ps-canvas .ps-bg-dark   {background:#0f172a;color:#f1f5f9;}
.ps-canvas .ps-bg-primary{background:var(--ps-primary);color:#fff;}
.ps-canvas .ps-bg-none   {background:transparent;}
/* ── 背景アニメーション（連続スライド）─────────────────── */
.ps-canvas .ps-bg-anim--slide-left{animation:ps-bg-slide-x var(--ps-bg-anim-dur,30s) linear infinite;}
.ps-canvas .ps-bg-anim--slide-right{animation:ps-bg-slide-x var(--ps-bg-anim-dur,30s) linear infinite reverse;}
.ps-canvas .ps-bg-anim--slide-up{animation:ps-bg-slide-y var(--ps-bg-anim-dur,30s) linear infinite;}
.ps-canvas .ps-bg-anim--slide-down{animation:ps-bg-slide-y var(--ps-bg-anim-dur,30s) linear infinite reverse;}
@keyframes ps-bg-slide-x{from{background-position-x:0}to{background-position-x:-400px}}
@keyframes ps-bg-slide-y{from{background-position-y:0}to{background-position-y:-400px}}
@media (prefers-reduced-motion: reduce){.ps-canvas .ps-bg-anim--slide-left,.ps-canvas .ps-bg-anim--slide-right,.ps-canvas .ps-bg-anim--slide-up,.ps-canvas .ps-bg-anim--slide-down{animation:none;}}
/* 要素間の標準余白はラッパーに集約。要素のmargin設定が上書きするため個別に詰め/空け（0含む）が可能 */
.ps-canvas .ps-element-wrap{margin-bottom:var(--ps-mb,var(--ps-block-gap));}
@media(max-width:767px){.ps-canvas .ps-element-wrap{margin-bottom:var(--ps-mb-sp,var(--ps-mb,var(--ps-block-gap)));}}
/* コンテナ末尾は既定の余白を抑止するが、**利用者が明示した余白（--ps-mb）は尊重する**
   （旧実装はインライン margin-bottom＝:last-child に勝っていた。変数化でここが 0 固定のままだと
   「ビルダーでは見える末尾要素の余白が公開ページで消える」食い違いになる） */
.ps-canvas .ps-container>.ps-element-wrap:last-child,
.ps-canvas .ps-col>.ps-element-wrap:last-child,
.ps-canvas .ps-card>.ps-element-wrap:last-child,
.ps-canvas .ps-table td>.ps-element-wrap:last-child{margin-bottom:var(--ps-mb,0);}
@media(max-width:767px){
.ps-canvas .ps-container>.ps-element-wrap:last-child,
.ps-canvas .ps-col>.ps-element-wrap:last-child,
.ps-canvas .ps-card>.ps-element-wrap:last-child,
.ps-canvas .ps-table td>.ps-element-wrap:last-child{margin-bottom:var(--ps-mb-sp,var(--ps-mb,0));}
}
.ps-canvas .ps-element-wrap:has(>.ps-spacer){margin-bottom:var(--ps-mb,0);}
@media(max-width:767px){.ps-canvas .ps-element-wrap:has(>.ps-spacer){margin-bottom:var(--ps-mb-sp,var(--ps-mb,0));}}
.ps-canvas .ps-col,.ps-canvas .ps-card,.ps-canvas .ps-table td{--ps-mb:initial;--ps-mb-sp:initial;}
.ps-canvas .ps-container{margin-inline:auto;padding-inline:3rem;width:100%;}
.ps-canvas .ps-mw-narrow{max-width:640px;}
.ps-canvas .ps-mw-normal{max-width:1100px;}
.ps-canvas .ps-mw-wide  {max-width:1280px;}
.ps-canvas .ps-mw-full  {max-width:100%;padding-inline:0;}
.ps-canvas .ps-py-sm{padding-block:2rem;}
.ps-canvas .ps-py-md{padding-block:4rem;}
.ps-canvas .ps-py-lg{padding-block:6rem;}
.ps-canvas .ps-py-xl{padding-block:8rem;}
.ps-canvas .ps-heading{font-family:var(--ps-font-heading);font-weight:var(--ps-weight-heading);line-height:1.25;color:inherit;overflow-wrap:break-word;word-break:break-word;}
.ps-canvas h1.ps-heading{font-size:clamp(2rem,calc(5 * var(--ps-vw,1vw)),3.5rem);}
.ps-canvas h2.ps-heading{font-size:clamp(1.5rem,calc(3.5 * var(--ps-vw,1vw)),2.5rem);}
.ps-canvas h3.ps-heading{font-size:clamp(1.2rem,calc(2.5 * var(--ps-vw,1vw)),1.75rem);}
.ps-canvas h4.ps-heading{font-size:1.2rem;}
.ps-canvas h5.ps-heading{font-size:1.05rem;}
.ps-canvas h6.ps-heading{font-size:0.95rem;}
.ps-canvas .ps-heading--ul{padding-bottom:0.4em;}
.ps-canvas .ps-heading--ul::after{content:"";display:block;height:var(--ps-ul-size,3px);background:var(--ps-ul-color,var(--ps-primary));border-radius:999px;margin-top:0.4em;}
.ps-canvas .ps-heading--ul-accent::after{width:var(--ps-ul-len,48px);}
.ps-canvas .ps-heading--ul-full::after{width:100%;}
.ps-canvas .ps-heading--ul.ps-text-center::after{margin-left:auto;margin-right:auto;}
.ps-canvas .ps-heading--ul.ps-text-right::after{margin-left:auto;}
.ps-canvas .ps-heading{--ps-h-accent:var(--ps-primary);}
.ps-canvas .ps-heading--icon::before{font-family:"Font Awesome 6 Free";font-weight:900;content:var(--ps-h-icon,"\f005");margin-right:.4em;color:var(--ps-h-icon-color,var(--ps-h-accent));font-size:.9em;}
.ps-canvas .ps-heading--icon-end::after{font-family:"Font Awesome 6 Free";font-weight:900;content:var(--ps-h-icon,"\f005");margin-left:.4em;color:var(--ps-h-icon-color,var(--ps-h-accent));font-size:.9em;}
.ps-canvas .ps-heading--d-tag{width:fit-content;max-width:100%;background:var(--ps-h-accent);color:var(--ps-h-fg,#fff);padding:var(--ps-h-pad-y,.35em) var(--ps-h-pad-x,.95em);border-radius:4px;position:relative;line-height:1.35;}
.ps-canvas .ps-heading--d-tag::after{content:"";position:absolute;left:.5em;top:50%;width:.4em;height:.4em;margin-top:-.2em;background:#fff;border-radius:50%;}
.ps-canvas .ps-heading--d-tag.ps-text-center{margin-left:auto;margin-right:auto;}
.ps-canvas .ps-heading--d-tag.ps-text-right{margin-left:auto;}
.ps-canvas .ps-heading--d-ribbon{width:fit-content;max-width:100%;background:var(--ps-h-accent);color:var(--ps-h-fg,#fff);padding:var(--ps-h-pad-y,.4em) var(--ps-h-pad-x,1.1em);position:relative;line-height:1.4;}
.ps-canvas .ps-heading--d-ribbon::before,.ps-canvas .ps-heading--d-ribbon::after{content:"";position:absolute;top:0;width:0;height:0;border:.7em solid var(--ps-h-accent);z-index:0;}
.ps-canvas .ps-heading--d-ribbon::before{left:-1.1em;border-left-color:transparent;}
.ps-canvas .ps-heading--d-ribbon::after{right:-1.1em;border-right-color:transparent;}
.ps-canvas .ps-heading--d-ribbon.ps-text-center{margin-left:auto;margin-right:auto;}
.ps-canvas .ps-heading--d-ribbon.ps-text-right{margin-left:auto;}
.ps-canvas .ps-heading--d-double-line{border-top:3px var(--ps-h-line-style,double) var(--ps-h-accent);border-bottom:3px var(--ps-h-line-style,double) var(--ps-h-accent);padding:.4em 0;}
.ps-canvas .ps-heading--d-both-ends{display:flex;align-items:center;justify-content:center;gap:.7em;}
.ps-canvas .ps-heading--d-both-ends::before,.ps-canvas .ps-heading--d-both-ends::after{content:"";flex:1 1 auto;height:0;border-top:2px var(--ps-h-line-style,solid) var(--ps-h-accent);}
.ps-canvas .ps-heading--d-underline-bar{padding-bottom:.45em;}
.ps-canvas .ps-heading--d-underline-bar::after{content:"";display:block;height:var(--ps-h-bar-size,4px);width:var(--ps-h-bar-len,40px);background:var(--ps-h-accent);border-radius:999px;margin-top:.4em;}
.ps-canvas .ps-heading--d-underline-bar.ps-text-center::after{margin-left:auto;margin-right:auto;}
.ps-canvas .ps-heading--d-underline-bar.ps-text-right::after{margin-left:auto;}
.ps-canvas .ps-heading--d-marker{width:fit-content;max-width:100%;background:linear-gradient(transparent 60%,var(--ps-h-accent) 0);padding:0 .1em;}
.ps-canvas .ps-heading--d-marker.ps-text-center{margin-left:auto;margin-right:auto;}
.ps-canvas .ps-heading--d-marker.ps-text-right{margin-left:auto;}
.ps-canvas .ps-heading--sh-soft{text-shadow:0 2px 4px rgba(0,0,0,.25);}
.ps-canvas .ps-heading--sh-hard{text-shadow:3px 3px 0 rgba(0,0,0,.85);}
.ps-canvas .ps-heading--sh-outline{text-shadow:-1px -1px 0 #fff,1px -1px 0 #fff,-1px 1px 0 #fff,1px 1px 0 #fff,0 0 2px rgba(0,0,0,.4);}
.ps-canvas .ps-heading--sh-glow{text-shadow:0 0 8px var(--ps-h-accent),0 0 16px var(--ps-h-accent);}
.ps-canvas .ps-heading--sh-retro{text-shadow:2px 2px 0 var(--ps-h-accent),4px 4px 0 rgba(0,0,0,.2);}
.ps-canvas .ps-heading--d-speech-bubble{width:fit-content;max-width:100%;background:var(--ps-h-accent);color:var(--ps-h-fg,#fff);padding:var(--ps-h-pad-y,.5em) var(--ps-h-pad-x,1em);border-radius:8px;position:relative;line-height:1.4;}
.ps-canvas .ps-heading--d-speech-bubble::after{content:"";position:absolute;left:24px;bottom:calc(var(--ps-h-tri,7px) * -1);width:0;height:0;border:var(--ps-h-tri,7px) solid transparent;border-top-color:var(--ps-h-accent);border-bottom:0;}
.ps-canvas .ps-heading--d-speech-bubble.ps-text-center{margin-left:auto;margin-right:auto;}
.ps-canvas .ps-heading--d-speech-bubble.ps-text-right{margin-left:auto;}
.ps-canvas .ps-heading--d-stitch{position:relative;border:2px dashed var(--ps-h-accent);border-radius:6px;padding:var(--ps-h-pad-y,.55em) var(--ps-h-pad-x,1.1em);}
.ps-canvas .ps-heading--d-stitch.ps-heading--peel::after{content:"";position:absolute;top:0;right:0;width:0;height:0;border:11px solid transparent;border-top-color:var(--ps-h-accent);border-right-color:var(--ps-h-accent);opacity:.85;border-radius:0 4px 0 0;}
.ps-canvas .ps-heading--d-split-line{padding-bottom:.45em;}
.ps-canvas .ps-heading--d-split-line::after{content:"";display:block;height:var(--ps-h-bar-size,4px);width:100%;margin-top:.4em;border-radius:999px;background:linear-gradient(90deg,var(--ps-h-accent) var(--ps-h-split,50%),var(--ps-h-split2,#e2e8f0) 0);}
.ps-canvas .ps-heading--d-pointed-bar{width:fit-content;max-width:100%;background:var(--ps-h-accent);color:var(--ps-h-fg,#fff);padding:var(--ps-h-pad-y,.4em) var(--ps-h-pad-x,1.4em);line-height:1.4;clip-path:polygon(0 0,calc(100% - 12px) 0,100% 50%,calc(100% - 12px) 100%,0 100%);}
.ps-canvas .ps-heading--d-pointed-bar.ps-heading--both-ends{clip-path:polygon(12px 0,calc(100% - 12px) 0,100% 50%,calc(100% - 12px) 100%,12px 100%,0 50%);}
.ps-canvas .ps-heading--d-pointed-bar.ps-text-center{margin-left:auto;margin-right:auto;}
.ps-canvas .ps-heading--d-pointed-bar.ps-text-right{margin-left:auto;}
.ps-canvas .ps-heading--d-first-letter::first-letter{color:var(--ps-h-accent);font-size:1.6em;font-weight:800;line-height:1;}
.ps-canvas .ps-heading--d-tab{position:relative;border-top:3px solid var(--ps-h-accent);padding:1.7em 0 .3em;}
.ps-canvas .ps-heading--d-tab::before{content:var(--ps-h-tab,"TOPIC");position:absolute;top:0;left:0;background:var(--ps-h-accent);color:#fff;font-size:.5em;font-weight:700;letter-spacing:.08em;padding:.35em 1em;}
.ps-canvas .ps-heading--d-en-line::after{content:var(--ps-h-en,"TITLE");display:block;width:fit-content;margin:.5em auto 0;padding-top:.4em;border-top:2px solid var(--ps-h-accent);font-size:.45em;letter-spacing:.18em;color:var(--ps-h-accent);font-weight:600;}
.ps-canvas .ps-heading--d-number-tag{display:flex;align-items:center;gap:.5em;}
.ps-canvas .ps-heading--d-number-tag::before{content:var(--ps-h-badge,"01");flex:0 0 auto;background:var(--ps-h-accent);color:#fff;font-size:.65em;font-weight:700;padding:.25em .6em;border-radius:4px;line-height:1.25;}
.ps-canvas .ps-image.ps-image--d-rounded img{border-radius:18px;}
.ps-canvas .ps-image.ps-image--d-circle img{border-radius:50%;aspect-ratio:1/1;object-fit:cover;height:auto;}
.ps-canvas .ps-image.ps-image--d-shadow img{box-shadow:0 10px 28px rgba(15,23,42,.18);}
.ps-canvas .ps-image.ps-image--d-polaroid{width:var(--ps-image-width,fit-content);max-width:100%;margin-inline:auto;background:#fff;padding:12px 12px 40px;box-shadow:0 8px 20px rgba(0,0,0,.15);}
.ps-canvas .ps-image.ps-image--d-polaroid img{display:block;border-radius:0;}
.ps-canvas .ps-image.ps-image--bordered img{border:var(--ps-img-bw,2px) var(--ps-img-bs,solid) var(--ps-img-bc,#111827);}
.ps-canvas .ps-btn--shadow-sm{box-shadow:0 1px 3px rgba(0,0,0,.2);}
.ps-canvas .ps-btn--shadow-md{box-shadow:0 4px 10px rgba(0,0,0,.2);}
.ps-canvas .ps-btn--shadow-lg{box-shadow:0 10px 24px rgba(0,0,0,.28);}
.ps-canvas .ps-btn--shadow-glow{box-shadow:0 0 16px var(--ps-primary);}
.ps-canvas .ps-btn--fx-3d{box-shadow:0 5px 0 rgba(0,0,0,.25);transition:transform .05s,box-shadow .05s;}
.ps-canvas .ps-btn--fx-3d:active{transform:translateY(3px);box-shadow:0 2px 0 rgba(0,0,0,.25);}
.ps-canvas .ps-btn--fx-shine{position:relative;overflow:hidden;}
.ps-canvas .ps-btn--fx-shine::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(120deg,transparent,rgba(255,255,255,.5),transparent);transform:skewX(-20deg);transition:left .5s;}
.ps-canvas .ps-btn--fx-shine:hover::after{left:120%;}
.ps-canvas .ps-text{font-size:1rem;line-height:1.9;color:inherit;overflow-wrap:break-word;word-break:break-word;}
/* 要素単位の文字サイズ上書き（ラッパー inline font-size を .ps-heading / .ps-text に通す） */
.ps-canvas .ps-fs-override .ps-heading,.ps-canvas .ps-fs-override .ps-text,.ps-canvas .ps-fs-override .ps-image-credit{font-size:inherit;}
/* ── 要素のループアニメーション（ps-la-*: 常時 / ps-la-hover-*: ホバー中のみ） ── */
@keyframes ps-la-spin{to{transform:rotate(360deg)}}
@keyframes ps-la-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}
@keyframes ps-la-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes ps-la-sway{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}
@keyframes ps-la-bounce{0%,100%{transform:translateY(0)}30%{transform:translateY(-12px)}50%{transform:translateY(0)}65%{transform:translateY(-6px)}80%{transform:translateY(0)}}
@keyframes ps-la-blink{0%,100%{opacity:1}50%{opacity:.35}}
@keyframes ps-la-shake{0%,100%{transform:translateX(0)}20%{transform:translateX(-4px)}40%{transform:translateX(4px)}60%{transform:translateX(-3px)}80%{transform:translateX(3px)}}
.ps-canvas .ps-la-spin{animation:ps-la-spin var(--ps-la-dur,1.6s) linear infinite;}
.ps-canvas .ps-la-pulse{animation:ps-la-pulse var(--ps-la-dur,1.8s) ease-in-out infinite;}
.ps-canvas .ps-la-float{animation:ps-la-float var(--ps-la-dur,3s) ease-in-out infinite;}
.ps-canvas .ps-la-sway{animation:ps-la-sway var(--ps-la-dur,2.4s) ease-in-out infinite;transform-origin:50% 100%;}
.ps-canvas .ps-la-bounce{animation:ps-la-bounce var(--ps-la-dur,1.6s) ease-in-out infinite;}
.ps-canvas .ps-la-blink{animation:ps-la-blink var(--ps-la-dur,1.6s) ease-in-out infinite;}
.ps-canvas .ps-la-shake{animation:ps-la-shake var(--ps-la-dur,.8s) ease-in-out infinite;}
.ps-canvas .ps-la-hover-spin:hover{animation:ps-la-spin var(--ps-la-dur,1.6s) linear infinite;}
.ps-canvas .ps-la-hover-pulse:hover{animation:ps-la-pulse var(--ps-la-dur,1.8s) ease-in-out infinite;}
.ps-canvas .ps-la-hover-float:hover{animation:ps-la-float var(--ps-la-dur,3s) ease-in-out infinite;}
.ps-canvas .ps-la-hover-sway:hover{animation:ps-la-sway var(--ps-la-dur,2.4s) ease-in-out infinite;transform-origin:50% 100%;}
.ps-canvas .ps-la-hover-bounce:hover{animation:ps-la-bounce var(--ps-la-dur,1.6s) ease-in-out infinite;}
.ps-canvas .ps-la-hover-blink:hover{animation:ps-la-blink var(--ps-la-dur,1.6s) ease-in-out infinite;}
.ps-canvas .ps-la-hover-shake:hover{animation:ps-la-shake var(--ps-la-dur,.8s) ease-in-out infinite;}
@media (prefers-reduced-motion:reduce){.ps-canvas [class*="ps-la-"]{animation:none !important;}}
.ps-canvas .ps-text-left  {text-align:left;}
.ps-canvas .ps-text-center{text-align:center;}
.ps-canvas .ps-text-right {text-align:right;}
.ps-canvas .ps-text-size-sm  {font-size:clamp(0.875rem,calc(2.5 * var(--ps-vw,1vw)),1rem);}
.ps-canvas .ps-text-size-base{font-size:clamp(1rem,calc(3.2 * var(--ps-vw,1vw)),1.5rem);}
.ps-canvas .ps-text-size-lg  {font-size:clamp(1.15rem,calc(4 * var(--ps-vw,1vw)),2rem);}
.ps-canvas .ps-text-size-xl  {font-size:clamp(1.3rem,calc(5 * var(--ps-vw,1vw)),2.5rem);}
.ps-canvas .ps-text-size-2xl {font-size:clamp(1.5rem,calc(6 * var(--ps-vw,1vw)),3rem);}
.ps-canvas .ps-text-size-3xl {font-size:clamp(1.75rem,calc(7.5 * var(--ps-vw,1vw)),4rem);}
.ps-canvas .ps-text-size-4xl {font-size:clamp(2rem,calc(9 * var(--ps-vw,1vw)),5rem);}
.ps-canvas .ps-text-size-5xl {font-size:clamp(2.25rem,calc(11 * var(--ps-vw,1vw)),6rem);}
.ps-canvas .ps-btn-wrap{}
.ps-canvas .ps-contact-wrap{}
.ps-canvas .ps-contact-btn{gap:.5rem;}
.ps-canvas .ps-contact-icon{font-size:1.1em;line-height:1;}
.ps-canvas .ps-contact-link{display:inline-flex;align-items:center;gap:.45rem;color:var(--ps-primary);text-decoration:none;font-weight:500;font-size:1rem;cursor:pointer;}
.ps-canvas .ps-contact-link:hover{text-decoration:underline;}
.ps-canvas .ps-btn{display:inline-flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:500;letter-spacing:.02em;text-decoration:none;cursor:pointer;border:none;border-radius:var(--ps-radius);transition:all .2s;padding:.75rem 1.75rem;line-height:1;position:relative;overflow:hidden;isolation:isolate;}
.ps-canvas .ps-btn__label{position:relative;z-index:1;}
.ps-canvas .ps-btn__icon{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;line-height:0;color:var(--ps-btn-icon-color,inherit);}
.ps-canvas .ps-btn__icon--before{margin-right:var(--ps-btn-icon-gap,.6em);}
.ps-canvas .ps-btn__icon--after{margin-left:var(--ps-btn-icon-gap,.6em);}
.ps-canvas .ps-btn__icon-glyph{font-size:var(--ps-btn-icon-size,1.15em);line-height:1;}
.ps-canvas .ps-btn__icon-glyph--fa{font-family:"Font Awesome 6 Free";font-weight:900;}
.ps-canvas .ps-btn__icon-img{width:var(--ps-btn-icon-size,1.3em);height:var(--ps-btn-icon-size,1.3em);object-fit:contain;display:block;}
.ps-canvas .ps-btn__icon--boxed{padding:.4em;background:var(--ps-btn-icon-bg,rgba(0,0,0,.08));}
.ps-canvas .ps-btn__icon--rounded{border-radius:.4em;overflow:hidden;}
.ps-canvas .ps-btn__icon--circle{aspect-ratio:1;border-radius:50%;overflow:hidden;}
.ps-canvas .ps-btn--icon-edge{justify-content:space-between;}
.ps-canvas .ps-btn--icon-edge .ps-btn__icon--before{margin-right:0;}
.ps-canvas .ps-btn--icon-edge .ps-btn__icon--after{margin-left:0;}
.ps-canvas .ps-btn--filled  {background:var(--ps-primary);color:#fff;--ps-btn-hover-bg:#fff;--ps-btn-hover-color:var(--ps-primary);}
.ps-canvas .ps-btn--filled:hover{opacity:.85;}
.ps-canvas .ps-btn--outlined{background:transparent;color:var(--ps-primary);border:2px solid var(--ps-primary);padding:calc(.75rem - 2px) calc(1.75rem - 2px);--ps-btn-hover-bg:var(--ps-primary);--ps-btn-hover-color:#fff;}
.ps-canvas .ps-btn--outlined:hover{background:var(--ps-primary);color:#fff;}
.ps-canvas .ps-btn--tonal   {background:color-mix(in srgb,var(--ps-primary) 15%,white);color:var(--ps-primary);--ps-btn-hover-bg:var(--ps-primary);--ps-btn-hover-color:#fff;}
.ps-canvas .ps-btn--elevated{background:#fff;color:var(--ps-primary);box-shadow:0 2px 8px rgba(0,0,0,.12);--ps-btn-hover-bg:var(--ps-primary);--ps-btn-hover-color:#fff;}
.ps-canvas .ps-btn--text    {background:transparent;color:var(--ps-primary);padding:.5rem .75rem;--ps-btn-hover-bg:var(--ps-primary);--ps-btn-hover-color:#fff;}
.ps-canvas .ps-btn--custom-bg{background:var(--ps-btn-bg);}
.ps-canvas .ps-btn--custom-color{color:var(--ps-btn-color);}
.ps-canvas .ps-btn--custom-bg:not(.ps-btn--outlined){border-color:var(--ps-btn-border-color,var(--ps-btn-bg));}
.ps-canvas .ps-btn--custom-border{border:var(--ps-btn-border-width,2px) solid var(--ps-btn-border-color);}
.ps-canvas .ps-btn--full    {width:100%;}
.ps-canvas .ps-btn--lg      {padding:1rem 2.5rem;font-size:1.0625rem;}
.ps-canvas .ps-btn--sm      {padding:.375rem 1rem;font-size:.8125rem;}
.ps-canvas .ps-btn-hover--scale:hover{transform:scale(1.06);}
.ps-canvas .ps-btn-hover--lift:hover {transform:translateY(-4px);box-shadow:0 8px 24px rgba(0,0,0,.2);}
.ps-canvas .ps-btn-hover--glow:hover {filter:brightness(1.12);box-shadow:0 0 18px rgba(0,0,0,.28);}
.ps-canvas .ps-btn-hover--fade:hover {opacity:.6;}
.ps-canvas .ps-btn-hover--invert:hover{background:var(--ps-btn-hover-bg);color:var(--ps-btn-hover-color);border-color:var(--ps-btn-hover-bg);opacity:1;}
.ps-canvas .ps-btn-hover--sweep-left:hover,.ps-canvas .ps-btn-hover--sweep-right:hover,.ps-canvas .ps-btn-hover--sweep-top:hover,.ps-canvas .ps-btn-hover--sweep-bottom:hover{color:var(--ps-btn-hover-color);border-color:var(--ps-btn-hover-bg);opacity:1;}
.ps-canvas .ps-btn--outlined.ps-btn-hover--sweep-left:hover,.ps-canvas .ps-btn--outlined.ps-btn-hover--sweep-right:hover,.ps-canvas .ps-btn--outlined.ps-btn-hover--sweep-top:hover,.ps-canvas .ps-btn--outlined.ps-btn-hover--sweep-bottom:hover{background:transparent;}
.ps-canvas .ps-btn-hover--sweep-left::before,.ps-canvas .ps-btn-hover--sweep-right::before,.ps-canvas .ps-btn-hover--sweep-top::before,.ps-canvas .ps-btn-hover--sweep-bottom::before{content:"";position:absolute;inset:0;z-index:0;background:var(--ps-btn-hover-bg);transition:transform var(--ps-btn-hover-duration, .2s) ease;}
.ps-canvas .ps-btn-hover--sweep-left::before{transform:scaleX(0);transform-origin:left;}
.ps-canvas .ps-btn-hover--sweep-right::before{transform:scaleX(0);transform-origin:right;}
.ps-canvas .ps-btn-hover--sweep-top::before{transform:scaleY(0);transform-origin:top;}
.ps-canvas .ps-btn-hover--sweep-bottom::before{transform:scaleY(0);transform-origin:bottom;}
.ps-canvas .ps-btn-hover--sweep-left:hover::before,.ps-canvas .ps-btn-hover--sweep-right:hover::before{transform:scaleX(1);}
.ps-canvas .ps-btn-hover--sweep-top:hover::before,.ps-canvas .ps-btn-hover--sweep-bottom:hover::before{transform:scaleY(1);}
.ps-canvas .ps-list{padding-left:1.5rem;}
.ps-canvas .ps-list li{margin-bottom:.4rem;line-height:1.6;}
.ps-canvas .ps-list--ul{list-style-type:disc;}
.ps-canvas .ps-list--ol{list-style-type:decimal;}
.ps-canvas .ps-checklist{list-style:none;padding:0;}
.ps-canvas .ps-checklist li{display:flex;align-items:flex-start;gap:.5rem;margin-bottom:.5rem;line-height:1.6;}
.ps-canvas .ps-checklist__icon{flex-shrink:0;width:1.125rem;height:1.125rem;border:2px solid var(--ps-primary);border-radius:3px;display:inline-flex;align-items:center;justify-content:center;margin-top:2px;}
.ps-canvas .ps-checklist__icon--checked{background:var(--ps-primary);}
.ps-canvas .ps-checklist__icon--checked::after{content:'';display:block;width:.35rem;height:.6rem;border:2px solid #fff;border-top:none;border-left:none;transform:rotate(45deg) translateY(-1px);}
.ps-canvas .ps-news-compact,.ps-canvas .ps-news-list{width:100%;box-sizing:border-box;}
.ps-canvas .ps-news-compact ul,.ps-canvas .ps-news-list__items{list-style:none;padding:0;margin:0;width:100%;box-sizing:border-box;}
.ps-canvas .ps-news--marker ul,.ps-canvas .ps-news--marker .ps-news-list__items{list-style:disc;padding-left:1.5rem;}
.ps-canvas .ps-news-compact__more{margin:.5rem 0 0;text-align:right;font-size:.85rem;}
.ps-canvas .ps-news-compact__more a{color:var(--ps-primary);text-decoration:none;}
.ps-canvas .ps-news-list__item{padding:.75rem 0;border-bottom:1px solid var(--ps-news-divider,rgba(0,0,0,.08));}
.ps-canvas .ps-news-list__item:first-child{border-top:1px solid var(--ps-news-divider,rgba(0,0,0,.08));}
.ps-canvas .ps-news--no-divider .ps-news-list__item,.ps-canvas .ps-news--no-divider .ps-news-list__item:first-child{border:none;}
.ps-canvas .ps-news-list__header{display:flex;align-items:baseline;gap:.875rem;flex-wrap:wrap;min-width:0;}
.ps-canvas .ps-news-list__date{flex-shrink:0;font-size:.8125rem;color:var(--ps-subtle);white-space:nowrap;}
.ps-canvas .ps-news-list__badge{flex-shrink:0;font-size:.7rem;font-weight:600;padding:.1em .5em;border-radius:3px;background:var(--ps-primary);color:#fff;}
.ps-canvas .ps-news-list__badge--pin{background:transparent;color:inherit;padding:0;font-size:.85rem;}
.ps-canvas .ps-news-list__title{flex:1;min-width:0;text-decoration:none;color:inherit;font-weight:500;word-break:break-word;overflow-wrap:anywhere;}
.ps-canvas .ps-news-list__title:hover{color:var(--ps-primary);}
.ps-canvas .ps-news-list__body{margin:.35rem 0 0;font-size:.875rem;color:var(--ps-subtle);line-height:1.6;word-break:break-word;}
.ps-canvas .ps-news-list__body details summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;}
.ps-canvas .ps-news-list__body details summary::after{content:'▼';font-size:.7em;transition:transform .2s;}
.ps-canvas .ps-news-list__body details[open] summary::after{transform:rotate(180deg);}
.ps-canvas .ps-news-list__body details .ps-news-body-text{padding:.5rem 0;}
.ps-canvas .ps-news-list__pager{display:flex;justify-content:center;gap:.5rem;margin-top:1rem;flex-wrap:wrap;}
.ps-canvas .ps-news-list__pager button{padding:.3rem .8rem;border:1px solid rgba(0,0,0,.15);border-radius:var(--ps-radius);background:#fff;cursor:pointer;font-size:.85rem;color:var(--ps-text);}
.ps-canvas .ps-news-list__pager button:hover{background:rgba(0,0,0,.05);}
.ps-canvas .ps-news-list__pager button:disabled:not(.ps-pager-active){opacity:.4;cursor:default;}
.ps-canvas .ps-news-list__pager button.ps-pager-active{background:var(--ps-primary);color:#fff;border-color:var(--ps-primary);cursor:default;}
/* ── Blog post list（公開後に blog.json から描画） ── */
.ps-canvas .ps-post-list{width:100%;box-sizing:border-box;}
.ps-canvas .ps-post-list__items{list-style:none;padding:0;margin:0;display:grid;gap:1.5rem;}
.ps-canvas .ps-post-list--list .ps-post-list__items{grid-template-columns:1fr;}
.ps-canvas .ps-post-list--card .ps-post-list__items{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));}
.ps-canvas .ps-post-list--grid .ps-post-list__items{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;}
.ps-canvas .ps-post-card{display:flex;flex-direction:column;text-decoration:none;color:inherit;border-radius:var(--ps-radius);overflow:hidden;background:var(--ps-bg);border:1px solid rgba(0,0,0,.08);transition:box-shadow .2s,transform .2s;}
.ps-canvas .ps-post-card:hover{box-shadow:0 6px 20px rgba(0,0,0,.1);transform:translateY(-2px);}
.ps-canvas .ps-post-list--list .ps-post-card{flex-direction:row;align-items:stretch;border:none;border-bottom:1px solid rgba(0,0,0,.08);border-radius:0;}
.ps-canvas .ps-post-list--list .ps-post-card:hover{box-shadow:none;transform:none;}
.ps-canvas .ps-post-card__thumb{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:rgba(0,0,0,.05);}
.ps-canvas .ps-post-list--list .ps-post-card__thumb{width:160px;flex-shrink:0;aspect-ratio:4/3;}
.ps-canvas .ps-post-card__body{padding:.9rem 1rem 1.1rem;display:flex;flex-direction:column;gap:.4rem;flex:1;min-width:0;}
.ps-canvas .ps-post-card__meta{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;font-size:.75rem;color:var(--ps-subtle);}
.ps-canvas .ps-post-card__cat{padding:.1em .6em;border-radius:999px;background:var(--ps-primary);color:#fff;font-weight:600;}
.ps-canvas .ps-post-card__title{font-family:var(--ps-font-heading);font-weight:var(--ps-weight-heading);font-size:1.05rem;line-height:1.45;word-break:break-word;}
.ps-canvas .ps-post-card__excerpt{font-size:.85rem;color:var(--ps-subtle);line-height:1.6;word-break:break-word;}
.ps-canvas .ps-post-list__empty{padding:1rem;color:var(--ps-subtle);font-size:.9rem;}
.ps-canvas .ps-post-list__more-wrap{text-align:center;margin-top:1.5rem;}
.ps-canvas .ps-post-list__more{display:inline-block;padding:.6rem 1.5rem;border:1px solid var(--ps-primary);border-radius:var(--ps-radius);color:var(--ps-primary);text-decoration:none;font-size:.9rem;font-weight:600;transition:background .2s,color .2s;}
.ps-canvas .ps-post-list__more:hover{background:var(--ps-primary);color:#fff;}
@media(max-width:640px){.ps-canvas .ps-post-list--list .ps-post-card{flex-direction:column;}.ps-canvas .ps-post-list--list .ps-post-card__thumb{width:100%;aspect-ratio:16/9;}}
/* ── Blog article（記事詳細ページ・公開出力のみ） ── */
.ps-canvas .ps-article{max-width:760px;margin:0 auto;padding:2.5rem 1.25rem 4rem;box-sizing:border-box;}
.ps-canvas .ps-article__breadcrumb{font-size:.8rem;color:var(--ps-subtle);margin-bottom:1.25rem;display:flex;flex-wrap:wrap;gap:.35rem;}
.ps-canvas .ps-article__breadcrumb a{color:var(--ps-subtle);text-decoration:none;}
.ps-canvas .ps-article__breadcrumb a:hover{color:var(--ps-primary);}
.ps-canvas .ps-article__breadcrumb span{color:var(--ps-subtle);}
.ps-canvas .ps-article__title{font-family:var(--ps-font-heading);font-weight:var(--ps-weight-heading);font-size:2rem;line-height:1.35;margin:0 0 .75rem;color:var(--ps-text);word-break:break-word;}
.ps-canvas .ps-article__meta{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;font-size:.8rem;color:var(--ps-subtle);margin-bottom:1.5rem;}
.ps-canvas .ps-article__meta a{color:var(--ps-primary);text-decoration:none;}
.ps-canvas .ps-article__cat{padding:.12em .7em;border-radius:999px;background:var(--ps-primary);color:#fff;font-weight:600;}
.ps-canvas .ps-article__thumb{display:block;width:100%;border-radius:var(--ps-radius);margin-bottom:1.75rem;}
.ps-canvas .ps-post-body{font-size:1rem;line-height:1.9;color:var(--ps-text);word-break:break-word;overflow-wrap:anywhere;}
.ps-canvas .ps-post-body h2{font-family:var(--ps-font-heading);font-weight:var(--ps-weight-heading);font-size:1.5rem;line-height:1.4;margin:2.25rem 0 .9rem;}
.ps-canvas .ps-post-body h3{font-family:var(--ps-font-heading);font-weight:var(--ps-weight-heading);font-size:1.2rem;line-height:1.45;margin:1.75rem 0 .75rem;}
.ps-canvas .ps-post-body h4{font-weight:600;font-size:1.05rem;margin:1.5rem 0 .6rem;}
.ps-canvas .ps-post-body p{margin:0 0 1.15rem;}
.ps-canvas .ps-post-body ul,.ps-canvas .ps-post-body ol{margin:0 0 1.15rem;padding-left:1.5rem;}
.ps-canvas .ps-post-body li{margin:.3rem 0;}
.ps-canvas .ps-post-body a{color:var(--ps-primary);text-decoration:underline;}
.ps-canvas .ps-post-body img{max-width:100%;height:auto;border-radius:var(--ps-radius);margin:1.25rem 0;}
.ps-canvas .ps-post-body iframe{display:block;width:100%;max-width:100%;aspect-ratio:16/9;height:auto;border:0;border-radius:var(--ps-radius);margin:1.25rem 0;}
.ps-canvas .ps-post-body hr{border:0;border-top:1px solid rgba(0,0,0,.14);margin:2rem auto;}
.ps-canvas .ps-post-body p[data-rse-callout]{display:flex;gap:.6em;align-items:flex-start;padding:.9em 1.1em;border-left:3px solid;border-radius:var(--ps-radius);margin:1.25rem 0;}
.ps-canvas .ps-post-body p[data-rse-callout]::before{flex:0 0 auto;line-height:1.6;}
.ps-canvas .ps-post-body p[data-rse-callout="info"]{background:#eff6ff;border-color:#3b82f6;}
.ps-canvas .ps-post-body p[data-rse-callout="info"]::before{content:'\1F4A1';}
.ps-canvas .ps-post-body p[data-rse-callout="warn"]{background:#fefce8;border-color:#eab308;}
.ps-canvas .ps-post-body p[data-rse-callout="warn"]::before{content:'\26A0\FE0F';}
.ps-canvas .ps-post-body p[data-rse-callout="success"]{background:#f0fdf4;border-color:#22c55e;}
.ps-canvas .ps-post-body p[data-rse-callout="success"]::before{content:'\2705';}
.ps-canvas .ps-post-body p[data-rse-callout="note"]{background:#f8fafc;border-color:#94a3b8;}
.ps-canvas .ps-post-body p[data-rse-callout="note"]::before{content:'\1F4DD';}
.ps-canvas .ps-post-body .rse-toc{margin:1.75rem 0;padding:1.1rem 1.4rem;background:var(--ps-section-bg);border-radius:var(--ps-radius);}
.ps-canvas .ps-post-body .rse-toc-title{font-weight:700;font-size:.9em;margin-bottom:.5rem;}
.ps-canvas .ps-post-body .rse-toc ol{margin:0;padding-left:1.4em;font-size:.92em;}
.ps-canvas .ps-post-body .rse-toc li{margin:.25rem 0;}
.ps-canvas .ps-post-body .rse-toc li[data-level="3"]{margin-left:1em;}
.ps-canvas .ps-post-body .rse-toc a{color:inherit;text-decoration:none;}
.ps-canvas .ps-post-body .rse-toc a:hover{color:var(--ps-primary);text-decoration:underline;}
.ps-canvas .ps-post-body sup[data-rse-fn]{color:var(--ps-primary);font-size:.75em;cursor:help;}
.ps-canvas .ps-post-body .rse-fnlist{margin-top:2.5rem;padding-top:1rem;border-top:1px solid rgba(0,0,0,.12);font-size:.85em;color:var(--ps-subtle);}
.ps-canvas .ps-post-body .rse-fnlist-title{font-weight:700;font-size:.8em;margin-bottom:.35rem;}
.ps-canvas .ps-post-body .rse-fnlist ol{margin:0;padding-left:1.6em;}
.ps-canvas .ps-post-body blockquote{margin:1.5rem 0;padding:.5rem 0 .5rem 1.25rem;border-left:3px solid var(--ps-primary);color:var(--ps-subtle);}
.ps-canvas .ps-post-body pre{background:rgba(0,0,0,.05);padding:1rem;border-radius:var(--ps-radius);overflow:auto;margin:1.25rem 0;}
.ps-canvas .ps-post-body code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em;}
.ps-canvas .ps-post-body table{width:100%;border-collapse:collapse;margin:1.25rem 0;}
.ps-canvas .ps-post-body th,.ps-canvas .ps-post-body td{border:1px solid rgba(0,0,0,.12);padding:.5rem .75rem;text-align:left;}
.ps-canvas .ps-article__related{margin-top:3rem;padding-top:2rem;border-top:1px solid rgba(0,0,0,.1);}
.ps-canvas .ps-article__related-title{font-family:var(--ps-font-heading);font-weight:var(--ps-weight-heading);font-size:1.2rem;margin:0 0 1.25rem;}
.ps-canvas .ps-article__back{margin-top:2rem;}
.ps-canvas .ps-article__back a{color:var(--ps-primary);text-decoration:none;font-size:.9rem;}
.ps-canvas .ps-faq{}
.ps-canvas .ps-faq details{border-bottom:1px solid rgba(0,0,0,.08);}
.ps-canvas .ps-faq summary{display:flex;justify-content:space-between;align-items:center;padding:.9rem 0;cursor:pointer;font-weight:600;line-height:1.5;list-style:none;user-select:none;}
.ps-canvas .ps-faq summary::-webkit-details-marker{display:none;}
.ps-canvas .ps-faq summary::after{content:'+';font-size:1.2rem;color:var(--ps-primary);transition:transform .2s;flex-shrink:0;margin-left:.5rem;}
.ps-canvas .ps-faq details[open] summary::after{transform:rotate(45deg);}
.ps-canvas .ps-faq__answer{padding:0 0 1rem;line-height:1.7;}
.ps-canvas .ps-header{position:sticky;top:0;z-index:90;background:var(--ps-nav-bg);color:var(--ps-nav-text);padding:0 3rem;display:flex;align-items:center;min-height:64px;flex-wrap:wrap;box-shadow:0 1px 3px rgba(0,0,0,.1);}
.ps-canvas .ps-header__logo-wrap{display:flex;align-items:center;flex-shrink:0;}
.ps-canvas .ps-header__logo{font-size:1.1rem;font-weight:700;text-decoration:none;color:inherit;white-space:nowrap;}
.ps-canvas .ps-header__logo-link{display:inline-flex;align-items:center;color:inherit;text-decoration:none;}
.ps-canvas .ps-header__logo-img{display:block;width:120px;height:40px;object-fit:contain;object-position:left center;}
.ps-canvas .ps-header__nav{display:flex;gap:2rem;margin-left:auto;align-items:center;}
.ps-canvas .ps-header__nav a{font-size:.875rem;text-decoration:none;color:inherit;white-space:nowrap;transition:opacity .15s;}
.ps-canvas .ps-header__nav a:hover{opacity:.7;}
.ps-canvas .ps-header__hamburger{display:none;margin-left:auto;background:transparent;border:none;cursor:pointer;color:inherit;padding:6px;font-size:1.4rem;line-height:1;}
.ps-canvas .ps-header__hamburger .ps-icon-close{display:none;}
.ps-canvas .ps-header--open .ps-header__hamburger .ps-icon-open{display:none;}
.ps-canvas .ps-header--open .ps-header__hamburger .ps-icon-close{display:inline;}
.ps-canvas .ps-footer{background:var(--ps-nav-bg);color:var(--ps-nav-text);padding:3rem 3rem 2rem;}
.ps-canvas .ps-footer__logo-wrap{margin-bottom:2rem;}
.ps-canvas .ps-footer__logo{font-size:1.1rem;font-weight:700;display:inline-block;}
.ps-canvas .ps-footer__logo-img{display:block;width:120px;height:40px;object-fit:contain;}
.ps-canvas .ps-footer__columns{display:grid;gap:2rem;margin-bottom:2.5rem;}
.ps-canvas .ps-footer__col{display:flex;flex-direction:column;gap:.5rem;}
.ps-canvas .ps-footer__col-title{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;opacity:.5;margin-bottom:.25rem;}
.ps-canvas .ps-footer__col-link{color:inherit;text-decoration:none;font-size:.875rem;opacity:.8;transition:opacity .15s;}
.ps-canvas .ps-footer__col-link:hover{opacity:1;}
.ps-canvas .ps-footer__bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:1.5rem;text-align:center;}
.ps-canvas .ps-footer__links{display:flex;justify-content:center;gap:2rem;flex-wrap:wrap;margin-bottom:.75rem;}
.ps-canvas .ps-footer__links a{color:inherit;text-decoration:none;font-size:.875rem;opacity:.8;transition:opacity .15s;}
.ps-canvas .ps-footer__links a:hover{opacity:1;}
.ps-canvas .ps-footer__copy{font-size:.8rem;opacity:.6;}
@media(max-width:768px){
.ps-canvas .ps-header{padding:0 1.5rem;}
.ps-canvas .ps-header__hamburger{display:flex;align-items:center;}
.ps-canvas .ps-header__nav{display:none;flex-direction:column;width:100%;gap:0;margin-left:0;padding:.5rem 0 1rem;}
.ps-canvas .ps-header--open .ps-header__nav{display:flex;}
.ps-canvas .ps-header__nav a{padding:.65rem 0;font-size:.9rem;border-bottom:1px solid rgba(128,128,128,.12);}
.ps-canvas .ps-footer{padding:2rem 1.5rem 1.5rem;}
.ps-canvas .ps-footer__columns{grid-template-columns:1fr !important;}
.ps-canvas .ps-footer__links{gap:1rem;}
}
.ps-canvas .ps-slider{position:relative;overflow:hidden;width:100%;touch-action:pan-y;outline:none;}
.ps-canvas .ps-slider:focus-visible{outline:2px solid var(--ps-primary);outline-offset:2px;}
.ps-canvas .ps-slider--vertical{touch-action:pan-x;}
.ps-canvas .ps-slider-track{display:flex;transition:transform .45s ease;}
.ps-canvas .ps-slide{position:relative;flex:0 0 100%;width:100%;min-width:100%;max-width:100%;display:flex;align-items:center;justify-content:center;}
.ps-canvas .ps-slide picture{display:contents;}
.ps-canvas .ps-slide img{width:100%;height:auto;display:block;object-fit:cover;}
.ps-canvas .ps-slider--fade .ps-slider-track{display:block;position:relative;}
.ps-canvas .ps-slider--fade .ps-slide{position:absolute;inset:0;opacity:0;min-width:0;transition:opacity .6s ease;}
.ps-canvas .ps-slider--fade .ps-slide.ps-slide--active{position:relative;opacity:1;}
.ps-canvas .ps-slider-nav{position:absolute;top:50%;transform:translateY(-50%);width:100%;display:flex;justify-content:space-between;pointer-events:none;padding:0 .5rem;z-index:3;}
.ps-canvas .ps-slider-prev,.ps-canvas .ps-slider-next{width:2.5rem;height:2.5rem;border-radius:50%;background:rgba(0,0,0,.4);color:#fff;border:none;cursor:pointer;pointer-events:auto;font-size:1.2rem;display:flex;align-items:center;justify-content:center;transition:background .2s;}
.ps-canvas .ps-slider-prev:hover,.ps-canvas .ps-slider-next:hover{background:rgba(0,0,0,.65);}
.ps-canvas .ps-slider-dots{position:relative;z-index:3;display:flex;justify-content:center;gap:.4rem;padding:.6rem 0 0;}
.ps-canvas .ps-slide__link{display:block;width:100%;height:100%;cursor:pointer;}
.ps-canvas .ps-slider-overlay{position:absolute;inset:0;z-index:2;pointer-events:none;display:flex;}
.ps-canvas .ps-slider-overlay--top{align-items:flex-start;}
.ps-canvas .ps-slider-overlay--middle{align-items:center;}
.ps-canvas .ps-slider-overlay--bottom{align-items:flex-end;}
.ps-canvas .ps-slider-overlay--left .ps-slider-overlay__content{align-items:flex-start;}
.ps-canvas .ps-slider-overlay--right .ps-slider-overlay__content{align-items:flex-end;}
.ps-canvas .ps-slider-overlay__dim{position:absolute;inset:0;background:#000;}
.ps-canvas .ps-slider-overlay__content{position:relative;z-index:1;padding:2rem 3rem;width:100%;display:flex;flex-direction:column;gap:.6rem;}
.ps-canvas .ps-slider-overlay__box{position:absolute;transform:translate(-50%,-50%);z-index:1;padding:1.5rem 2rem;max-width:90%;display:flex;flex-direction:column;gap:.5rem;}
.ps-canvas .ps-slider-overlay__title{font-weight:700;line-height:1.2;margin:0;}
.ps-canvas .ps-slider-overlay__subtitle{line-height:1.6;margin:0;}
.ps-canvas .ps-slider-overlay__btn{display:inline-block;margin-top:.75rem;}
@keyframes ps-overlay-fadein{from{opacity:0;transform:translateY(16px);}to{opacity:1;transform:translateY(0);}}
.ps-canvas .ps-overlay-fadein{opacity:0;animation-name:ps-overlay-fadein;animation-fill-mode:forwards;animation-timing-function:ease-out;}
/* 暗幕グラデーション（overlayDimType） */
.ps-canvas .ps-slider-overlay__dim--bottom{background:linear-gradient(to top,#000,transparent 68%);}
.ps-canvas .ps-slider-overlay__dim--top{background:linear-gradient(to bottom,#000,transparent 68%);}
.ps-canvas .ps-slider-overlay__dim--left{background:linear-gradient(to right,#000,transparent 72%);}
.ps-canvas .ps-slider-overlay__dim--right{background:linear-gradient(to left,#000,transparent 72%);}
/* ── Slider: スライドごとのキャプション（ヒーロー） ── */
.ps-canvas .ps-slide-caption{position:absolute;inset:0;z-index:2;display:flex;pointer-events:none;}
.ps-canvas .ps-slide-caption--top{align-items:flex-start;}
.ps-canvas .ps-slide-caption--middle{align-items:center;}
.ps-canvas .ps-slide-caption--bottom{align-items:flex-end;}
.ps-canvas .ps-slide-caption__inner{position:relative;width:100%;display:flex;flex-direction:column;gap:.6rem;padding:2rem 3rem;}
.ps-canvas .ps-slide-caption--left .ps-slide-caption__inner{align-items:flex-start;}
.ps-canvas .ps-slide-caption--center .ps-slide-caption__inner{align-items:center;}
.ps-canvas .ps-slide-caption--right .ps-slide-caption__inner{align-items:flex-end;}
.ps-canvas .ps-slide-caption__tags{display:flex;flex-wrap:wrap;gap:6px;}
.ps-canvas .ps-slide-caption__tags span{font-size:11px;padding:3px 11px;border-radius:999px;background:rgba(255,255,255,.22);backdrop-filter:blur(4px);}
.ps-canvas .ps-slide-caption__title{font-weight:700;line-height:1.2;margin:0;}
.ps-canvas .ps-slide-caption__subtitle{line-height:1.6;margin:0;}
.ps-canvas .ps-slide-caption__btn{display:inline-block;margin-top:.75rem;pointer-events:auto;}
/* キャプションのテキストアニメーション: active になるたびCSSアニメが再生される */
.ps-canvas .ps-slide .ps-cap-anim{opacity:0;}
.ps-canvas .ps-slide--active .ps-cap-anim{animation-duration:var(--ps-cap-dur,800ms);animation-delay:var(--ps-cap-delay,0ms);animation-timing-function:ease-out;animation-fill-mode:both;}
.ps-canvas .ps-slide--active .ps-cap-anim--fade{animation-name:ps-cap-fade;}
.ps-canvas .ps-slide--active .ps-cap-anim--fade-up{animation-name:ps-cap-fade-up;}
.ps-canvas .ps-slide--active .ps-cap-anim--fade-down{animation-name:ps-cap-fade-down;}
.ps-canvas .ps-slide--active .ps-cap-anim--zoom-in{animation-name:ps-cap-zoom-in;}
.ps-canvas .ps-slide--active .ps-cap-anim--slide-left{animation-name:ps-cap-slide-left;}
.ps-canvas .ps-slide--active .ps-cap-anim--slide-right{animation-name:ps-cap-slide-right;}
@keyframes ps-cap-fade{from{opacity:0;}to{opacity:1;}}
@keyframes ps-cap-fade-up{from{opacity:0;transform:translateY(28px);}to{opacity:1;transform:translateY(0);}}
@keyframes ps-cap-fade-down{from{opacity:0;transform:translateY(-28px);}to{opacity:1;transform:translateY(0);}}
@keyframes ps-cap-zoom-in{from{opacity:0;transform:scale(.82);}to{opacity:1;transform:scale(1);}}
@keyframes ps-cap-slide-left{from{opacity:0;transform:translateX(48px);}to{opacity:1;transform:translateX(0);}}
@keyframes ps-cap-slide-right{from{opacity:0;transform:translateX(-48px);}to{opacity:1;transform:translateX(0);}}
.ps-canvas .ps-slider--ratio .ps-slider-track{height:100%;}
.ps-canvas .ps-slider--ratio .ps-slide{height:100%;}
.ps-canvas .ps-slider--ratio .ps-slide img{width:100%;height:100%;object-fit:cover;}
.ps-canvas .ps-slider--ratio.ps-slider--fade .ps-slider-track{height:100%;}
.ps-canvas .ps-slider--ratio.ps-slider--fade .ps-slide.ps-slide--active{position:relative;height:100%;}
.ps-canvas .ps-slider--fullwidth{width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);}
.ps-canvas .ps-slider--fullwidth .ps-slider-track{height:100%;}
.ps-canvas .ps-slider--fullwidth .ps-slide{height:100%;}
.ps-canvas .ps-slider--fullwidth .ps-slide img{width:100%;height:100%;object-fit:cover;}
.ps-canvas .ps-slider--cards{aspect-ratio:16/6;min-height:220px;}
.ps-canvas .ps-slider--cards .ps-slider-track{position:relative;display:block;height:100%;}
.ps-canvas .ps-slider--cards .ps-slide{position:absolute;top:50%;left:50%;z-index:0;width:min(66%,760px);height:82%;min-width:0;opacity:0;pointer-events:none;transform:translate(-50%,-50%) scale(.84);transition:transform .45s ease,opacity .45s ease;overflow:hidden;border-radius:var(--ps-radius);box-shadow:0 18px 40px rgba(15,23,42,.18);}
.ps-canvas .ps-slider--cards .ps-slide img{width:100%;height:100%;object-fit:cover;border-radius:inherit;}
.ps-canvas .ps-slider--cards .ps-slide--prev{z-index:1;opacity:.55;transform:translate(-132%,-50%) scale(.84);}
.ps-canvas .ps-slider--cards .ps-slide--active{z-index:2;opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1);}
.ps-canvas .ps-slider--cards .ps-slide--next{z-index:1;opacity:.55;transform:translate(32%,-50%) scale(.84);}
.ps-canvas .ps-slider--cards .ps-slider-dots{position:absolute;left:0;right:0;bottom:.75rem;z-index:3;padding:0;}

/* ── Slider: 追加タイプ ───────────────────── */
/* zoom（フェード配置＋拡大しながら表示） */
.ps-canvas .ps-slider--zoom .ps-slide{transform:scale(1.08);transition:opacity .7s ease,transform .7s ease;}
.ps-canvas .ps-slider--zoom .ps-slide.ps-slide--active{transform:scale(1);}
/* kenburns（表示中の画像がゆっくりズーム/パン） */
.ps-canvas .ps-slider--kenburns .ps-slide{overflow:hidden;transition:opacity 1s ease;}
.ps-canvas .ps-slider--kenburns .ps-slide img{will-change:transform;}
.ps-canvas .ps-slider--kenburns .ps-slide.ps-slide--active img{animation:ps-kenburns 9s ease-out forwards;}
.ps-canvas .ps-slider--kenburns .ps-slide:nth-child(even).ps-slide--active img{animation-name:ps-kenburns-alt;}
@keyframes ps-kenburns{from{transform:scale(1);}to{transform:scale(1.12) translate(1.5%,-1.5%);}}
@keyframes ps-kenburns-alt{from{transform:scale(1.12);}to{transform:scale(1) translate(0,0);}}
/* flip（3D回転切替） */
.ps-canvas .ps-slider--flip{perspective:1200px;}
.ps-canvas .ps-slider--flip .ps-slide{transform:rotateY(-90deg);backface-visibility:hidden;transition:opacity .35s ease,transform .65s ease;}
.ps-canvas .ps-slider--flip .ps-slide.ps-slide--active{transform:rotateY(0);}
/* vertical（縦送り） */
.ps-canvas .ps-slider--vertical .ps-slider-track{display:block;height:100%;transition:transform .5s ease;}
.ps-canvas .ps-slider--vertical .ps-slide{width:100%;}
.ps-canvas .ps-slider--vertical .ps-slide img{width:100%;height:100%;object-fit:cover;display:block;}
/* coverflow（カード配置＋3D傾斜・扇状に5枚重ねる） */
.ps-canvas .ps-slider--coverflow .ps-slide{width:min(46%,520px);transform:translate(-50%,-50%) scale(.8);}
.ps-canvas .ps-slider--coverflow .ps-slide--prev{opacity:.75;transform:translate(-105%,-50%) scale(.82) perspective(900px) rotateY(42deg);}
.ps-canvas .ps-slider--coverflow .ps-slide--next{opacity:.75;transform:translate(5%,-50%) scale(.82) perspective(900px) rotateY(-42deg);}
.ps-canvas .ps-slider--coverflow .ps-slide--active{opacity:1;transform:translate(-50%,-50%) scale(1);}
/* cards/coverflow: 左右のスライドをクリックで選択できる */
.ps-canvas .ps-slider--cards .ps-slide--prev,.ps-canvas .ps-slider--cards .ps-slide--next{pointer-events:auto;cursor:pointer;}
/* coverflow: 左右2枚ずつ見せて奥行きを出す（prev2 / next2） */
.ps-canvas .ps-slider--coverflow .ps-slide--prev2{z-index:0;opacity:.45;pointer-events:auto;cursor:pointer;transform:translate(-158%,-50%) scale(.7) perspective(900px) rotateY(50deg);}
.ps-canvas .ps-slider--coverflow .ps-slide--next2{z-index:0;opacity:.45;pointer-events:auto;cursor:pointer;transform:translate(58%,-50%) scale(.7) perspective(900px) rotateY(-50deg);}
/* coverflow: 鏡面反射（reflection オプション） */
.ps-canvas .ps-slider--reflect .ps-slide{height:66%;top:42%;-webkit-box-reflect:below 4px linear-gradient(transparent 62%,rgba(0,0,0,.25));}
/* stack（カードめくり） */
.ps-canvas .ps-slider--stack .ps-slider-track{position:relative;display:block;height:100%;}
.ps-canvas .ps-slider--stack .ps-slide{position:absolute;inset:0;opacity:0;transform:translateY(30px) scale(.88);transition:transform .5s ease,opacity .5s ease;border-radius:var(--ps-radius);overflow:hidden;box-shadow:0 12px 30px rgba(15,23,42,.22);}
.ps-canvas .ps-slider--stack .ps-slide img{width:100%;height:100%;object-fit:cover;}
.ps-canvas .ps-slider--stack .ps-slide--next{opacity:1;transform:translateY(12px) scale(.95);z-index:2;}
.ps-canvas .ps-slider--stack .ps-slide--next2{opacity:1;transform:translateY(24px) scale(.9);z-index:1;}
.ps-canvas .ps-slider--stack .ps-slide--active{opacity:1;transform:translateY(0) scale(1);z-index:3;}
.ps-canvas .ps-slider--stack .ps-slide--out{opacity:0;transform:translateX(65%) rotate(7deg);z-index:4;}
/* thumbs（メイン＋サムネイルナビ） */
.ps-canvas .ps-slider--thumbs{display:flex;flex-direction:column;}
.ps-canvas .ps-slider--thumbs .ps-slider-track{flex:1;min-height:0;height:auto;}
.ps-canvas .ps-slider--thumbs .ps-slide img{width:100%;height:100%;object-fit:cover;}
.ps-canvas .ps-slider-thumbs{display:flex;gap:8px;padding-top:8px;overflow-x:auto;flex:0 0 auto;}
.ps-canvas .ps-thumb{flex:0 0 auto;width:72px;height:52px;border:2px solid transparent;border-radius:6px;padding:2px;cursor:pointer;background:none;opacity:.6;transition:opacity .15s,border-color .15s;}
.ps-canvas .ps-thumb img{width:100%;height:100%;object-fit:cover;border-radius:4px;display:block;}
.ps-canvas .ps-thumb--active{border-color:var(--ps-primary);opacity:1;}
/* thumbs: 左右配置（thumbsPos） */
.ps-canvas .ps-slider--thumbs.ps-thumbs-right{flex-direction:row;}
.ps-canvas .ps-slider--thumbs.ps-thumbs-left{flex-direction:row-reverse;}
.ps-canvas .ps-thumbs-left .ps-slider-track,.ps-canvas .ps-thumbs-right .ps-slider-track{flex:1;min-width:0;}
.ps-canvas .ps-thumbs-left .ps-slider-thumbs,.ps-canvas .ps-thumbs-right .ps-slider-thumbs{flex-direction:column;overflow-y:auto;overflow-x:hidden;padding-top:0;width:88px;flex:0 0 88px;}
.ps-canvas .ps-thumbs-left .ps-slider-thumbs{padding-right:8px;}
.ps-canvas .ps-thumbs-right .ps-slider-thumbs{padding-left:8px;}
.ps-canvas .ps-thumbs-left .ps-thumb,.ps-canvas .ps-thumbs-right .ps-thumb{width:100%;height:58px;}
.ps-canvas .ps-thumbs-left .ps-slider-dots,.ps-canvas .ps-thumbs-right .ps-slider-dots{display:none;}

/* ── Slider: stories（ストーリーズ風） ─────────────────── */
.ps-canvas .ps-slider--stories{aspect-ratio:9/16;max-width:min(420px,100%);margin-inline:auto;border-radius:var(--ps-radius);background:#000;touch-action:pan-y;user-select:none;-webkit-user-select:none;}
.ps-canvas .ps-slider--stories .ps-slider-track{display:block;position:relative;height:100%;}
.ps-canvas .ps-slider--stories .ps-slide{position:absolute;inset:0;opacity:0;min-width:0;transition:opacity .25s ease;pointer-events:none;}
.ps-canvas .ps-slider--stories .ps-slide.ps-slide--active{opacity:1;}
.ps-canvas .ps-slider--stories .ps-slide img,.ps-canvas .ps-slider--stories .ps-slide video{width:100%;height:100%;object-fit:cover;display:block;}
.ps-canvas .ps-slider--stories .ps-slide iframe{width:100%;height:100%;border:0;display:block;pointer-events:none;}
.ps-canvas .ps-stories-bars{position:absolute;top:8px;left:8px;right:8px;z-index:4;display:flex;gap:4px;}
.ps-canvas .ps-stories-bar{flex:1;height:3px;border-radius:2px;background:rgba(255,255,255,.35);overflow:hidden;}
.ps-canvas .ps-stories-bar i{display:block;width:0;height:100%;background:#fff;border-radius:2px;}
@keyframes ps-stories-fill{from{width:0}to{width:100%}}
.ps-canvas .ps-stories-tap{position:absolute;top:0;bottom:0;z-index:3;cursor:pointer;}
.ps-canvas .ps-stories-tap--prev{left:0;width:33.4%;}
.ps-canvas .ps-stories-tap--next{right:0;width:66.6%;}
.ps-canvas .ps-stories-mute{position:absolute;top:20px;right:10px;z-index:4;width:2.2rem;height:2.2rem;border-radius:50%;border:none;background:rgba(0,0,0,.45);color:#fff;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.ps-canvas .ps-slider--stories .ps-slider-nav,.ps-canvas .ps-slider--stories .ps-slider-dots{display:none;}

/* ── Card slider（カード型スライダー） ─────────────────── */
.ps-canvas .ps-cslider{position:relative;--ps-cs-n:var(--ps-cs-pv,3);}
.ps-canvas .ps-cslider-viewport{overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;padding:8px 2px 16px;}
.ps-canvas .ps-cslider-viewport::-webkit-scrollbar{display:none;}
.ps-canvas .ps-cslider-track{display:flex;gap:var(--ps-cs-gap,16px);}
.ps-canvas .ps-cslider-card{flex:0 0 calc((100% - var(--ps-cs-gap,16px)*(var(--ps-cs-n) - 1))/var(--ps-cs-n));min-width:0;scroll-snap-align:start;display:flex;flex-direction:column;background:#fff;color:#1f2937;border-radius:var(--ps-radius);overflow:hidden;}
.ps-canvas .ps-cslider-card--outlined{border:1px solid #e2e8f0;}
.ps-canvas .ps-cslider-card--elevated{box-shadow:0 6px 18px rgba(15,23,42,.12);}
.ps-canvas .ps-cslider-card__img img{width:100%;height:var(--ps-cs-imgh,180px);object-fit:cover;display:block;}
.ps-canvas .ps-cslider-card__body{display:flex;flex-direction:column;gap:.5rem;padding:1rem 1.1rem 1.2rem;flex:1;}
.ps-canvas .ps-cslider-card__tags{display:flex;flex-wrap:wrap;gap:.35rem;}
.ps-canvas .ps-cslider-card__tags span{font-size:.72rem;font-weight:600;padding:.15em .7em;border-radius:999px;background:color-mix(in srgb,var(--ps-primary) 12%,#fff);color:var(--ps-primary);}
.ps-canvas .ps-cslider-card__title{font-family:var(--ps-font-heading);font-weight:var(--ps-weight-heading);font-size:1.05rem;line-height:1.4;margin:0;}
.ps-canvas .ps-cslider-card__text{font-size:.875rem;line-height:1.7;margin:0;color:#475569;flex:1;white-space:pre-line;}
.ps-canvas .ps-cslider-card__btn{align-self:flex-start;margin-top:.25rem;}
.ps-canvas .ps-cslider-dots{display:flex;justify-content:center;gap:.4rem;padding:.2rem 0 0;}
@media (max-width:1023px){.ps-canvas .ps-cslider{--ps-cs-n:var(--ps-cs-pv-tb,2);}}
@media (max-width:767px){.ps-canvas .ps-cslider{--ps-cs-n:var(--ps-cs-pv-sp,1);}}

/* ── Product gallery（商品画像ギャラリー） ─────────────── */
.ps-canvas .ps-pgallery{display:flex;flex-direction:column;gap:12px;max-width:640px;margin-inline:auto;}
/* display:flex が UA の [hidden] を上書きしないように（非アクティブなバリエーションのサムネ行） */
.ps-canvas .ps-pgallery-thumbs[hidden]{display:none;}
.ps-canvas .ps-pgallery--thumbs-left{flex-direction:row-reverse;}
.ps-canvas .ps-pgallery--thumbs-left .ps-pgallery-main{flex:1;min-width:0;}
.ps-canvas .ps-pgallery-stage{position:relative;overflow:hidden;border-radius:var(--ps-radius);background:#f1f5f9;cursor:zoom-in;}
.ps-canvas .ps-pgallery-stage img,.ps-canvas .ps-pgallery-stage video{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s ease;}
.ps-canvas .ps-pgallery-stage.is-zoomed img{transition:none;}
.ps-canvas .ps-pgallery-hint{position:absolute;right:10px;bottom:10px;z-index:2;width:2rem;height:2rem;border-radius:50%;background:rgba(0,0,0,.45);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.9rem;pointer-events:none;}
.ps-canvas .ps-pgallery-thumbs{display:flex;gap:8px;overflow-x:auto;flex:0 0 auto;}
.ps-canvas .ps-pgallery--thumbs-left .ps-pgallery-thumbs{flex-direction:column;overflow-y:auto;overflow-x:hidden;width:76px;flex:0 0 76px;margin-right:10px;}
.ps-canvas .ps-pgallery-thumb{position:relative;flex:0 0 auto;width:64px;height:64px;border:2px solid transparent;border-radius:6px;padding:2px;cursor:pointer;background:none;opacity:.65;transition:opacity .15s,border-color .15s;}
.ps-canvas .ps-pgallery-thumb img,.ps-canvas .ps-pgallery-thumb video{width:100%;height:100%;object-fit:cover;border-radius:4px;display:block;pointer-events:none;}
.ps-canvas .ps-pgallery-thumb--active{border-color:var(--ps-primary);opacity:1;}
.ps-canvas .ps-pgallery-thumb__play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1rem;text-shadow:0 1px 4px rgba(0,0,0,.6);pointer-events:none;}
.ps-canvas .ps-pgallery-variants{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px;}
.ps-canvas .ps-pgallery-swatch{width:26px;height:26px;border-radius:50%;border:2px solid #e2e8f0;background:var(--sw,#ddd);cursor:pointer;padding:0;transition:border-color .15s,transform .15s;}
.ps-canvas .ps-pgallery-swatch--active{border-color:var(--ps-primary);transform:scale(1.12);}
.ps-canvas .ps-pgallery-variant-label{font-size:.82rem;color:inherit;opacity:.75;}

/* ── Fullscreen slider（フルスクリーンスライダー・スクロール連動） ──────── */
/* ルート = 枚数×100svh の高さ。中身（viewport）は sticky で画面に貼り付き、
   ページスクロールの進行度でスライドが切り替わる（スクロールの乗っ取りはしない） */
.ps-canvas .ps-fs{position:relative;width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);height:calc(var(--ps-fs-n,1)*100svh);background:#000;outline:none;}
.ps-canvas .ps-fs-viewport{position:sticky;top:0;height:100svh;overflow:hidden;}
.ps-canvas .ps-fs-track{height:100%;}
.ps-canvas .ps-fs-slide{position:absolute;inset:0;opacity:0;transition:opacity .8s ease;pointer-events:none;}
.ps-canvas .ps-fs-slide--active{opacity:1;pointer-events:auto;}
/* slide エフェクト: 縦方向のトラック移動（フェードは従来の絶対配置） */
.ps-canvas .ps-fs--slide .ps-fs-track{transition:transform .75s cubic-bezier(.7,0,.3,1);will-change:transform;}
.ps-canvas .ps-fs--slide .ps-fs-slide{position:relative;inset:auto;height:100%;opacity:1;transition:none;pointer-events:auto;}
/* スクロールヒント（最後のスライドで非表示） */
.ps-canvas .ps-fs-hint{position:absolute;left:50%;bottom:14px;z-index:3;background:none;border:none;color:#fff;opacity:.85;cursor:pointer;padding:4px;animation:ps-fs-bounce 1.9s ease-in-out infinite;transition:opacity .3s;}
.ps-canvas .ps-fs-hint.is-hidden{opacity:0;pointer-events:none;}
@keyframes ps-fs-bounce{0%,100%{transform:translate(-50%,0);}50%{transform:translate(-50%,9px);}}
.ps-canvas .ps-fs-slide img{width:100%;height:100%;object-fit:cover;display:block;}
.ps-canvas .ps-fs--zoom .ps-fs-slide--active img{animation:ps-fs-zoom 9s ease-out forwards;}
@keyframes ps-fs-zoom{from{transform:scale(1);}to{transform:scale(1.08);}}
.ps-canvas .ps-fs-slide__dim{position:absolute;inset:0;background:#000;}
.ps-canvas .ps-fs-slide__content{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;justify-content:center;gap:.9rem;padding:2rem clamp(1.5rem,6vw,5rem);}
.ps-canvas .ps-fs--align-left .ps-fs-slide__content{align-items:flex-start;text-align:left;}
.ps-canvas .ps-fs--align-center .ps-fs-slide__content{align-items:center;text-align:center;}
.ps-canvas .ps-fs--align-right .ps-fs-slide__content{align-items:flex-end;text-align:right;}
.ps-canvas .ps-fs-slide__title{font-family:var(--ps-font-heading);font-weight:var(--ps-weight-heading);font-size:clamp(1.7rem,4.5vw,3.4rem);line-height:1.25;margin:0;}
.ps-canvas .ps-fs-slide__subtitle{font-size:clamp(.95rem,1.6vw,1.15rem);line-height:1.8;margin:0;}
.ps-canvas .ps-fs-slide__btn{margin-top:.6rem;pointer-events:auto;}
.ps-canvas .ps-fs-slide--active .ps-fs-anim{animation-duration:var(--ps-cap-dur,900ms);animation-delay:var(--ps-cap-delay,0ms);animation-timing-function:ease-out;animation-fill-mode:both;}
.ps-canvas .ps-fs-slide:not(.ps-fs-slide--active) .ps-fs-anim{opacity:0;}
.ps-canvas .ps-fs-slide--active .ps-fs-anim--fade{animation-name:ps-cap-fade;}
.ps-canvas .ps-fs-slide--active .ps-fs-anim--fade-up{animation-name:ps-cap-fade-up;}
.ps-canvas .ps-fs-slide--active .ps-fs-anim--fade-down{animation-name:ps-cap-fade-down;}
.ps-canvas .ps-fs-slide--active .ps-fs-anim--zoom-in{animation-name:ps-cap-zoom-in;}
.ps-canvas .ps-fs-slide--active .ps-fs-anim--slide-left{animation-name:ps-cap-slide-left;}
.ps-canvas .ps-fs-slide--active .ps-fs-anim--slide-right{animation-name:ps-cap-slide-right;}
.ps-canvas .ps-fs-dots{position:absolute;right:18px;top:50%;transform:translateY(-50%);z-index:3;display:flex;flex-direction:column;gap:.55rem;}
.ps-canvas .ps-fs-dots .ps-dot{background:rgba(255,255,255,.45);}
.ps-canvas .ps-fs-dots .ps-dot.ps-dot--active{background:#fff;}
.ps-canvas .ps-fs-counter{position:absolute;left:22px;bottom:20px;z-index:3;color:#fff;font-size:.85rem;letter-spacing:.12em;opacity:.85;}
.ps-canvas .ps-fs-counter b{font-size:1.15rem;}
.ps-canvas .ps-dot{width:.6rem;height:.6rem;border-radius:50%;background:rgba(0,0,0,.25);border:none;cursor:pointer;padding:0;transition:background .2s;}
.ps-canvas .ps-dot.ps-dot--active{background:var(--ps-primary);}
.ps-canvas .ps-slider--marquee{overflow:hidden;}
.ps-canvas .ps-slider--marquee .ps-marquee-track{display:flex;width:max-content;animation:ps-marquee linear infinite;}
.ps-canvas .ps-slider--marquee.ps-marquee--reverse .ps-marquee-track{animation-direction:reverse;}
.ps-canvas .ps-slider--marquee .ps-slide{flex:0 0 auto;width:auto;max-width:none;height:var(--ps-marquee-h,220px);margin-right:var(--ps-marquee-gap,16px);min-width:0;}
.ps-canvas .ps-slider--marquee .ps-slide img{height:100%;width:auto;display:block;border-radius:var(--ps-radius);object-fit:cover;}
@keyframes ps-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.ps-canvas .ps-slider--marquee.ps-marquee--vertical{height:var(--ps-marquee-vh,360px);}
.ps-canvas .ps-slider--marquee.ps-marquee--vertical .ps-marquee-track{flex-direction:column;width:auto;height:max-content;animation-name:ps-marquee-v;}
.ps-canvas .ps-slider--marquee.ps-marquee--vertical .ps-slide{width:100%;margin-right:0;margin-bottom:var(--ps-marquee-gap,16px);}
.ps-canvas .ps-slider--marquee.ps-marquee--vertical .ps-slide img{width:100%;height:100%;}
@keyframes ps-marquee-v{from{transform:translateY(0)}to{transform:translateY(-50%)}}
@media (prefers-reduced-motion: reduce){.ps-canvas .ps-slider--marquee .ps-marquee-track{animation:none;}}
.ps-canvas .ps-slider--roll{position:relative;}
.ps-canvas .ps-slider--roll .ps-roll-viewport{overflow-x:auto;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;}
.ps-canvas .ps-slider--roll .ps-roll-viewport::-webkit-scrollbar{display:none;}
.ps-canvas .ps-slider--roll .ps-roll-track{display:flex;gap:var(--ps-marquee-gap,16px);}
.ps-canvas .ps-slider--roll .ps-slide{flex:0 0 auto;width:auto;max-width:none;height:var(--ps-marquee-h,220px);min-width:0;}
.ps-canvas .ps-slider--roll .ps-slide img{height:100%;width:auto;display:block;border-radius:var(--ps-radius);object-fit:cover;}
.ps-canvas .ps-image{}
.ps-canvas .ps-image{width:var(--ps-image-width,100%);max-width:100%;}
@media(max-width:767px){.ps-canvas .ps-image{width:var(--ps-image-width-sp,var(--ps-image-width,100%));}}
@media(max-width:767px){.ps-canvas .ps-image.ps-image--d-polaroid{width:var(--ps-image-width-sp,var(--ps-image-width,fit-content));}}
.ps-canvas .ps-image__frame{aspect-ratio:var(--ps-image-ratio,auto);}
.ps-canvas .ps-image--ratio .ps-image__frame{overflow:hidden;border-radius:var(--ps-image-radius,var(--ps-radius));}
.ps-canvas .ps-image img{width:100%;height:auto;max-width:100%;border-radius:var(--ps-radius);}
.ps-canvas .ps-image__frame > a{display:block;width:100%;}
.ps-canvas .ps-image--ratio .ps-image__frame > a{height:100%;}
.ps-canvas .ps-image--ratio .ps-image__frame img{height:100%;object-fit:cover;}
.ps-canvas .ps-image-credit{display:block;margin-top:.3rem;font-size:.72rem;line-height:1.4;text-align:right;opacity:.65;}
.ps-canvas .ps-image-credit a{color:inherit;text-decoration:underline;}
.ps-canvas .ps-image-placeholder{width:100%;aspect-ratio:16/9;background:color-mix(in srgb,var(--ps-section-bg) 70%,var(--ps-primary) 30%);border-radius:var(--ps-radius);display:flex;align-items:center;justify-content:center;color:var(--ps-subtle);font-size:.8rem;}
.ps-canvas .ps-video-wrap{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;border-radius:var(--ps-radius);}
.ps-canvas .ps-video-wrap--ratio{padding-bottom:0;height:auto;aspect-ratio:var(--ps-video-ratio,16/9);}
.ps-canvas .ps-video-wrap iframe,.ps-canvas .ps-video-wrap video{position:absolute;inset:0;width:100%;height:100%;}
.ps-canvas .ps-video-placeholder{width:100%;aspect-ratio:16/9;background:#111;border-radius:var(--ps-radius);display:flex;align-items:center;justify-content:center;color:#888;font-size:.8rem;}
.ps-canvas .ps-map{width:100%;min-height:160px;overflow:hidden;border-radius:var(--ps-radius);background:var(--ps-section-bg);}
.ps-canvas .ps-map iframe{display:block;width:100%;height:100%;border:0;}
.ps-canvas .ps-map__placeholder{width:100%;height:100%;min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;border:1px dashed rgba(148,163,184,.55);color:var(--ps-subtle);background:rgba(148,163,184,.08);text-align:center;font-size:.85rem;}
.ps-canvas .ps-map__placeholder-icon{font-size:1.75rem;color:var(--ps-primary);}
.ps-canvas .ps-table-wrap{overflow-x:auto;}
.ps-canvas .ps-table{width:100%;border-collapse:collapse;font-size:.875rem;}
.ps-canvas .ps-table th{background:var(--ps-primary);color:#fff;padding:.65rem 1rem;text-align:left;font-weight:600;}
.ps-canvas .ps-table td{padding:.65rem 1rem;border-bottom:1px solid rgba(0,0,0,.08);color:inherit;}
.ps-canvas .ps-table tr:nth-child(even) td{background:var(--ps-section-bg);}
.ps-canvas .ps-divider{border:none;border-top:1px solid rgba(128,128,128,.2);}
.ps-canvas .ps-columns{display:grid;gap:2rem;}
.ps-canvas .ps-columns-2{grid-template-columns:repeat(2,1fr);}
.ps-canvas .ps-columns-3{grid-template-columns:repeat(3,1fr);}
.ps-canvas .ps-columns-4{grid-template-columns:repeat(4,1fr);}
.ps-canvas .ps-columns-6{grid-template-columns:repeat(6,1fr);}
.ps-canvas .ps-col{min-width:0;}
.ps-canvas .ps-card{display:block;width:var(--ps-card-w,auto);max-width:100%;}
@media(max-width:1023px){.ps-canvas .ps-card{width:var(--ps-card-w-tb,var(--ps-card-w,auto));}}
@media(max-width:767px){.ps-canvas .ps-card{width:var(--ps-card-w-sp,var(--ps-card-w-tb,var(--ps-card-w,auto)));}}
.ps-canvas .ps-gallery-item{overflow:hidden;border-radius:var(--ps-radius,6px);cursor:pointer;transition:transform .25s,box-shadow .25s;}
.ps-canvas .ps-gallery-item:hover{transform:scale(1.02);}
.ps-canvas .ps-gallery-item--outlined{border:1px solid rgba(0,0,0,.12);}
.ps-canvas .ps-gallery-item--elevated{box-shadow:0 2px 10px rgba(0,0,0,.1);}
.ps-canvas .ps-gallery-item--elevated:hover{box-shadow:0 6px 20px rgba(0,0,0,.15);}
.ps-canvas .ps-gallery-item img{width:100%;display:block;object-fit:cover;}
.ps-gallery-item__placeholder{background:var(--ps-section-bg);display:flex;align-items:center;justify-content:center;color:var(--ps-subtle);}
.ps-gallery-modal{display:none;position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,0);align-items:center;justify-content:center;padding:1rem;transition:background .25s;}
.ps-gallery-modal.is-open{background:rgba(0,0,0,.82);}
.ps-gallery-modal__inner{background:#fff;border-radius:12px;max-width:720px;width:100%;max-height:90vh;overflow-y:auto;position:relative;transform:scale(.85) translateY(14px);opacity:0;transition:transform .35s cubic-bezier(.22,1,.36,1),opacity .3s ease;}
.ps-gallery-modal.is-open .ps-gallery-modal__inner{transform:scale(1);opacity:1;}
.ps-gallery-modal__close{position:absolute;top:.75rem;right:.75rem;background:rgba(0,0,0,.45);color:#fff;border:none;width:32px;height:32px;border-radius:50%;cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center;z-index:1;transition:background .15s;}
.ps-gallery-modal__close:hover{background:rgba(0,0,0,.7);}
.ps-gallery-modal__nav{position:absolute;top:50%;transform:translateY(-50%);width:36px;height:36px;border-radius:50%;background:rgba(0,0,0,.45);color:#fff;border:none;font-size:20px;cursor:pointer;z-index:1;display:flex;align-items:center;justify-content:center;transition:background .15s;}
.ps-gallery-modal__nav:hover{background:rgba(0,0,0,.7);}
.ps-gallery-modal__nav--prev{left:.6rem;}
.ps-gallery-modal__nav--next{right:.6rem;}
.ps-gallery-modal__img{width:100%;max-height:480px;object-fit:contain;border-radius:12px 12px 0 0;display:block;background:var(--ps-section-bg);}
.ps-gallery-modal__body{padding:1.25rem 1.5rem 1.5rem;}
.ps-gallery-modal__title{font-family:var(--ps-font-heading);font-size:1.35rem;font-weight:700;margin-bottom:.5rem;color:var(--ps-text);}
.ps-gallery-modal__desc{color:var(--ps-subtle);line-height:1.7;margin-bottom:1rem;font-size:.95rem;}
@media(max-width:768px){.ps-gallery-modal__body{padding:1rem;}.ps-gallery-modal__title{font-size:1.1rem;}}
/* ── Gallery: レイアウト・フィルター ───────────────────── */
.ps-canvas .ps-gallery-filter{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-bottom:1.1rem;}
.ps-canvas .ps-gallery-filter__btn{border:1px solid color-mix(in srgb,var(--ps-primary) 45%,transparent);background:transparent;color:var(--ps-primary);font-size:.82rem;font-weight:600;padding:.35em 1.1em;border-radius:999px;cursor:pointer;transition:background .15s,color .15s;}
.ps-canvas .ps-gallery-filter__btn.is-active{background:var(--ps-primary);color:#fff;}
.ps-canvas .ps-gallery-item--hidden{display:none !important;}
.ps-canvas .ps-gallery--masonry .ps-gallery-item{break-inside:avoid;margin-bottom:var(--ps-g-gap,1rem);}
.ps-canvas .ps-gallery--masonry .ps-gallery-item img{width:100%;height:auto !important;display:block;}
.ps-canvas .ps-gallery--hscroll{display:flex;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:10px;}
.ps-canvas .ps-gallery--hscroll .ps-gallery-item{flex:0 0 var(--ps-g-itemw,280px);scroll-snap-align:start;}

/* ── Business hours ───────────────────────── */
.ps-canvas .ps-hours{width:100%;}
.ps-canvas .ps-hours__row{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:.6em .2em;border-bottom:1px dashed rgba(0,0,0,.15);}
.ps-canvas .ps-hours__label{font-weight:600;}
.ps-canvas .ps-hours__row--closed .ps-hours__value{color:var(--ps-hours-accent,var(--ps-primary));font-weight:600;}
.ps-canvas .ps-hours__note{font-size:.85em;color:var(--ps-subtle);margin-top:.6em;}

/* ── Price menu ───────────────────────────── */
.ps-canvas .ps-pricemenu{display:flex;flex-direction:column;gap:.9em;}
.ps-canvas .ps-pricemenu__row{display:flex;align-items:baseline;gap:.6em;}
.ps-canvas .ps-pricemenu--bold .ps-pricemenu__name{font-weight:700;}
.ps-canvas .ps-pricemenu__leader{flex:1;min-width:1.5em;border-bottom:2px dotted rgba(0,0,0,.25);}
.ps-canvas .ps-pricemenu--no-leader .ps-pricemenu__leader{border-bottom:none;}
.ps-canvas .ps-pricemenu__price{font-weight:600;white-space:nowrap;}
.ps-canvas .ps-pricemenu__desc{font-size:.85em;color:var(--ps-subtle);margin:.25em 0 0;}

/* ── SNS links ────────────────────────────── */
.ps-canvas .ps-sns{display:flex;flex-wrap:wrap;gap:12px;align-items:center;}
.ps-canvas .ps-sns.ps-text-center{justify-content:center;}
.ps-canvas .ps-sns.ps-text-right{justify-content:flex-end;}
.ps-canvas .ps-sns__item{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:#fff;text-decoration:none;transition:opacity .15s;}
.ps-canvas .ps-sns__item:hover{opacity:.85;}
.ps-canvas .ps-sns__glyph{font-family:"Font Awesome 6 Brands";font-weight:400;line-height:1;}

/* ── Icon feature ─────────────────────────── */
.ps-canvas .ps-iconfeature{display:flex;flex-direction:column;gap:.6em;align-items:flex-start;}
.ps-canvas .ps-iconfeature.ps-text-center{align-items:center;}
.ps-canvas .ps-iconfeature.ps-text-right{align-items:flex-end;}
.ps-canvas .ps-iconfeature__icon{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:color-mix(in srgb,var(--ps-primary) 12%,transparent);color:var(--ps-primary);font-family:"Font Awesome 6 Free";font-weight:900;line-height:1;}
.ps-canvas .ps-iconfeature__title{font-family:var(--ps-font-heading);font-weight:var(--ps-weight-heading);font-size:1.15rem;margin:0;}
.ps-canvas .ps-iconfeature__text{font-size:.95rem;color:var(--ps-subtle);margin:0;line-height:1.8;}

/* ── Testimonial ──────────────────────────── */
.ps-canvas .ps-testimonial{background:var(--ps-section-bg);border-radius:var(--ps-radius);padding:1.5rem;margin:0;}
.ps-canvas .ps-testimonial__stars{color:var(--ps-testi-accent,#f59e0b);font-size:.95rem;letter-spacing:.1em;}
.ps-canvas .ps-testimonial__stars-empty{opacity:.25;}
.ps-canvas .ps-testimonial__quote{margin:.6em 0 1em;line-height:1.8;}
.ps-canvas .ps-testimonial__footer{display:flex;align-items:center;gap:.6em;flex-wrap:wrap;}
.ps-canvas .ps-testimonial__avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;}
.ps-canvas .ps-testimonial__name{font-weight:700;font-size:.95rem;}
.ps-canvas .ps-testimonial__meta{font-size:.8rem;color:var(--ps-subtle);}

/* ── Quote ────────────────────────────────── */
.ps-canvas .ps-quote{margin:0;}
.ps-canvas .ps-quote__box{position:relative;margin:0;background:var(--ps-section-bg);border-radius:var(--ps-radius);padding:2.6em 1.5em 1.3em;}
.ps-canvas .ps-quote__box::before{content:'\201C';position:absolute;top:.05em;left:.35em;font-family:Georgia,'Times New Roman',serif;font-size:3.4em;line-height:1;color:var(--ps-quote-accent,var(--ps-primary));opacity:.4;}
.ps-canvas .ps-quote__body{margin:0;line-height:1.9;}
.ps-canvas .ps-quote__source{display:block;margin-top:.9em;font-size:.8rem;color:var(--ps-subtle);text-align:right;}
.ps-canvas .ps-quote__source--outside{margin-top:.5em;}
.ps-canvas .ps-quote__source cite{font-style:normal;}
.ps-canvas .ps-quote__source a{color:inherit;text-decoration:underline;}

/* ── Code ─────────────────────────────────── */
.ps-canvas .ps-code{background:#0f172a;color:#e2e8f0;border-radius:var(--ps-radius);font-size:.875rem;}
.ps-canvas .ps-code--light{background:#f1f5f9;color:#1e293b;}
.ps-canvas .ps-code__bar{display:flex;align-items:center;gap:.5em;padding:.6em 1em;border-bottom:1px solid rgba(255,255,255,.1);}
.ps-canvas .ps-code--light .ps-code__bar{border-bottom-color:rgba(0,0,0,.08);}
.ps-canvas .ps-code__dots{width:10px;height:10px;border-radius:50%;background:#f87171;box-shadow:16px 0 0 #fbbf24,32px 0 0 #34d399;margin-right:26px;flex-shrink:0;}
.ps-canvas .ps-code__label{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.75rem;opacity:.7;}
.ps-canvas .ps-code__pre{margin:0;padding:1em 1.25em;overflow-x:auto;}
.ps-canvas .ps-code__pre code{display:block;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:inherit;line-height:1.75;background:none;color:inherit;white-space:pre;}
.ps-canvas .ps-code--wrap .ps-code__pre{overflow-x:visible;}
.ps-canvas .ps-code--wrap .ps-code__pre code{white-space:pre-wrap;word-break:break-word;}

/* ── Steps ────────────────────────────────── */
.ps-canvas .ps-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1.25rem;}
.ps-canvas .ps-steps__item{display:flex;gap:1em;position:relative;flex:1;min-width:0;}
.ps-canvas .ps-steps__num{display:flex;align-items:center;justify-content:center;width:2.2em;height:2.2em;border-radius:50%;background:var(--ps-steps-accent,var(--ps-primary));color:#fff;font-weight:700;flex-shrink:0;}
.ps-canvas .ps-steps--line:not(.ps-steps--h) .ps-steps__item:not(:last-child)::before{content:'';position:absolute;left:1.1em;top:2.4em;bottom:-1.25rem;width:2px;background:var(--ps-steps-line,rgba(0,0,0,.12));transform:translateX(-50%);}
@media(min-width:768px){.ps-canvas .ps-steps--line.ps-steps--h .ps-steps__item:not(:last-child)::before{content:'';position:absolute;top:1.1em;left:calc(50% + 1.4em);right:calc(1.4em - 50% - 1rem);height:2px;background:var(--ps-steps-line,rgba(0,0,0,.12));}}
@media(max-width:767px){.ps-canvas .ps-steps--line.ps-steps--h .ps-steps__item:not(:last-child)::before{content:'';position:absolute;left:1.1em;top:2.4em;bottom:-1rem;width:2px;height:auto;background:var(--ps-steps-line,rgba(0,0,0,.12));transform:translateX(-50%);}}
.ps-canvas .ps-steps--h{flex-direction:row;gap:1rem;}
.ps-canvas .ps-steps--h .ps-steps__item{flex-direction:column;align-items:center;text-align:center;}
@media(max-width:767px){.ps-canvas .ps-steps--h{flex-direction:column;}.ps-canvas .ps-steps--h .ps-steps__item{flex-direction:row;align-items:flex-start;text-align:left;}}
.ps-canvas .ps-steps__title{font-weight:700;margin-bottom:.25em;}
.ps-canvas .ps-steps__text{font-size:.9rem;color:var(--ps-subtle);margin:0;line-height:1.7;}

/* ── Before/After ─────────────────────────── */
.ps-canvas .ps-ba__frame{position:relative;width:100%;}
.ps-canvas .ps-ba__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:var(--ps-radius);}
.ps-canvas .ps-ba__before-clip{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--ps-ba-pos,50%)) 0 0);}
.ps-canvas .ps-ba__divider{position:absolute;top:0;bottom:0;left:var(--ps-ba-pos,50%);width:2px;background:#fff;box-shadow:0 0 4px rgba(0,0,0,.4);transform:translateX(-50%);}
.ps-canvas .ps-ba__divider::after{content:'\2194';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:34px;height:34px;border-radius:50%;background:#fff;color:#334155;display:flex;align-items:center;justify-content:center;font-size:14px;box-shadow:0 1px 4px rgba(0,0,0,.35);}
.ps-canvas .ps-ba__label{position:absolute;top:10px;padding:.2em .7em;border-radius:99px;font-size:.75rem;font-weight:700;background:rgba(0,0,0,.55);color:#fff;}
.ps-canvas .ps-ba__label--before{left:10px;}
.ps-canvas .ps-ba__label--after{right:10px;}
.ps-canvas .ps-ba__range{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0;}
.ps-canvas .ps-ba__placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#e2e8f0;color:#64748b;border-radius:var(--ps-radius);font-size:.9rem;}

/* ── Countdown ────────────────────────────── */
.ps-canvas .ps-countdown__units{display:flex;gap:.8em;flex-wrap:wrap;}
.ps-canvas .ps-countdown.ps-text-center .ps-countdown__units{justify-content:center;}
.ps-canvas .ps-countdown.ps-text-right .ps-countdown__units{justify-content:flex-end;}
.ps-canvas .ps-countdown__unit{display:flex;flex-direction:column;align-items:center;min-width:3.4em;background:var(--ps-cd-accent,var(--ps-primary));color:#fff;border-radius:var(--ps-radius);padding:.5em .4em;}
.ps-canvas .ps-countdown__unit b{font-size:1.6em;line-height:1.1;font-variant-numeric:tabular-nums;}
.ps-canvas .ps-countdown__unit i{font-style:normal;font-size:.7em;opacity:.85;}
.ps-canvas .ps-countdown__done{font-weight:700;}
.ps-canvas .ps-countdown__placeholder{background:#e2e8f0;color:#64748b;border-radius:var(--ps-radius);padding:1em;text-align:center;font-size:.9rem;}






/* ── Image hover / loop / parallax ─────────── */
.ps-canvas .ps-image--hv-zoom{overflow:hidden;}
.ps-canvas .ps-image--hv-zoom img{transition:transform .5s ease;}
.ps-canvas .ps-image--hv-zoom:hover img{transform:scale(1.07);}
.ps-canvas .ps-image--hv-color img{filter:grayscale(1);transition:filter .4s ease;}
.ps-canvas .ps-image--hv-color:hover img{filter:grayscale(0);}
.ps-canvas .ps-image--hv-bright img{transition:filter .3s ease,transform .3s ease;}
.ps-canvas .ps-image--hv-bright:hover img{filter:brightness(1.12);transform:scale(1.02);}
.ps-canvas .ps-image--hv-tilt img{transition:transform .35s ease;}
.ps-canvas .ps-image--hv-tilt:hover img{transform:rotate(-2deg) translateY(-4px) scale(1.02);}
.ps-canvas .ps-image--loop-float img{animation:ps-img-float 3.5s ease-in-out infinite;}
@keyframes ps-img-float{0%,100%{transform:translateY(0);}50%{transform:translateY(-12px);}}
.ps-canvas .ps-image--loop-sway img{animation:ps-img-sway 4s ease-in-out infinite;transform-origin:center bottom;}
@keyframes ps-img-sway{0%,100%{transform:rotate(-2.5deg);}50%{transform:rotate(2.5deg);}}
.ps-canvas .ps-image--loop-pulse img{animation:ps-img-pulse 2.6s ease-in-out infinite;}
@keyframes ps-img-pulse{0%,100%{transform:scale(1);}50%{transform:scale(1.04);}}
.ps-canvas .ps-image--loop-slowzoom{overflow:hidden;}
.ps-canvas .ps-image--loop-slowzoom img{animation:ps-img-slowzoom 14s ease-in-out infinite alternate;}
@keyframes ps-img-slowzoom{from{transform:scale(1);}to{transform:scale(1.12);}}
.ps-canvas .ps-img-parallax img{will-change:transform;}
/* ── Footer layouts ────────────────────────── */
.ps-canvas .ps-footer--center{text-align:center;}
.ps-canvas .ps-footer--center .ps-footer__logo-wrap{text-align:center;}
.ps-canvas .ps-footer--center .ps-footer__columns{display:flex;flex-wrap:wrap;justify-content:center;gap:2.5rem;}
.ps-canvas .ps-footer--center .ps-footer__col{align-items:center;}
.ps-canvas .ps-footer--simple{padding:1.5rem 3rem;text-align:center;}
.ps-canvas .ps-footer--simple .ps-footer__logo-wrap{margin-bottom:.75rem;text-align:center;}
.ps-canvas .ps-footer--simple .ps-footer__columns{display:none;}
.ps-canvas .ps-footer--simple .ps-footer__bottom{border-top:none;padding-top:0;}
.ps-canvas .ps-footer__cta{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;border-bottom:1px solid rgba(255,255,255,.12);padding-bottom:2rem;margin-bottom:2.5rem;}
.ps-canvas .ps-footer__cta-heading{font-size:1.4rem;font-weight:700;margin:0;font-family:var(--ps-font-heading);}
@media(max-width:767px){.ps-canvas .ps-footer__cta{flex-direction:column;align-items:flex-start;}}
/* ── Section shape divider ─────────────────── */
.ps-canvas .ps-section{position:relative;}
.ps-canvas .ps-sec-divider{position:absolute;left:0;right:0;line-height:0;pointer-events:none;z-index:1;}
.ps-canvas .ps-sec-divider--bottom{bottom:-1px;}
.ps-canvas .ps-sec-divider--top{top:-1px;transform:rotate(180deg);}
.ps-canvas .ps-sec-divider svg{display:block;width:100%;height:100%;}
/* ── Header: layout / CTA / TEL / scroll effects ── */
.ps-canvas .ps-header{transition:background-color .3s ease,box-shadow .3s ease,transform .3s ease,min-height .3s ease;}
.ps-canvas .ps-header--center-stack{flex-direction:column;justify-content:center;gap:.4rem;padding-top:.9rem;padding-bottom:.9rem;}
.ps-canvas .ps-header--center-stack .ps-header__logo-wrap{margin:0 auto;}
.ps-canvas .ps-header--center-stack .ps-header__nav{margin-left:0;justify-content:center;flex-wrap:wrap;}
.ps-canvas .ps-header--center-stack .ps-header__right{margin:0 auto;}
.ps-canvas .ps-header--center-stack .ps-header__hamburger{position:absolute;right:1rem;top:1rem;margin-left:0;}
.ps-canvas .ps-header--center-logo .ps-header__nav{flex:1;margin-left:0;}
.ps-canvas .ps-header--center-logo .ps-header__nav--left{justify-content:flex-end;}
.ps-canvas .ps-header--center-logo .ps-header__nav--right{justify-content:flex-start;}
.ps-canvas .ps-header--center-logo .ps-header__logo-wrap{margin:0 2rem;}
.ps-canvas .ps-header--logo-only{justify-content:center;}
.ps-canvas .ps-header--logo-only .ps-header__nav,.ps-canvas .ps-header--logo-only .ps-header__hamburger{display:none!important;}
.ps-canvas .ps-header__right{display:flex;align-items:center;gap:1.25rem;margin-left:1.5rem;flex-shrink:0;}
.ps-canvas .ps-header:not(:has(.ps-header__nav)) .ps-header__right{margin-left:auto;}
.ps-canvas .ps-header__tel{display:flex;flex-direction:column;line-height:1.25;}
.ps-canvas .ps-header__tel-link{color:inherit;text-decoration:none;font-weight:700;font-size:1.05rem;white-space:nowrap;}
.ps-canvas .ps-header__tel-note{font-size:.7rem;opacity:.75;white-space:nowrap;}
.ps-canvas .ps-header__cta{display:inline-block;padding:.55em 1.3em;border-radius:var(--ps-radius);background:var(--ps-primary);color:#fff;font-size:.875rem;font-weight:700;text-decoration:none;white-space:nowrap;transition:opacity .15s;}
.ps-canvas .ps-header__cta:hover{opacity:.85;}
.ps-canvas .ps-header--fx-transparent{position:fixed;top:0;left:0;right:0;}
.ps-canvas .ps-header--fx-transparent.ps-header--at-top{background:transparent!important;box-shadow:none!important;}
.ps-canvas .ps-header--fx-shrink.ps-header--shrunk{min-height:48px;box-shadow:0 2px 10px rgba(0,0,0,.12);}
.ps-canvas .ps-header--fx-shrink.ps-header--shrunk .ps-header__logo{font-size:.95rem;}
.ps-canvas .ps-header--fx-shrink.ps-header--shrunk .ps-header__logo-img{transform:scale(.85);transform-origin:left center;}
.ps-canvas .ps-header--fx-smart.ps-header--nav-hidden{transform:translateY(-100%);}
@media(max-width:768px){
  .ps-canvas .ps-header__right{order:1;margin-left:auto;gap:.75rem;}
  .ps-canvas .ps-header:has(.ps-header__right) .ps-header__hamburger{margin-left:.5rem;}
  .ps-canvas .ps-header__hamburger{order:5;}
  .ps-canvas .ps-header__nav{order:10;}
  .ps-canvas .ps-header__tel-note{display:none;}
}
/* ── Gallery hover effects ─────────────────── */
.ps-canvas .ps-gallery-item{position:relative;}
.ps-canvas .ps-gallery--hv-zoom .ps-gallery-item:hover{transform:none;}
.ps-canvas .ps-gallery--hv-zoom .ps-gallery-item img{transition:transform .45s ease;}
.ps-canvas .ps-gallery--hv-zoom .ps-gallery-item:hover img{transform:scale(1.08);}
.ps-canvas .ps-gallery--hv-lift .ps-gallery-item{transition:transform .3s ease,box-shadow .3s ease;}
.ps-canvas .ps-gallery--hv-lift .ps-gallery-item:hover{transform:translateY(-6px);box-shadow:0 12px 24px rgba(15,23,42,.18);}
.ps-canvas .ps-gallery-item__cap{position:absolute;left:0;right:0;bottom:0;padding:1.2em .8em .6em;background:linear-gradient(transparent,rgba(0,0,0,.72));color:#fff;font-size:.85rem;font-weight:600;transform:translateY(100%);opacity:0;transition:transform .3s ease,opacity .3s ease;pointer-events:none;}
.ps-canvas .ps-gallery--hv-caption .ps-gallery-item:hover .ps-gallery-item__cap{transform:translateY(0);opacity:1;}
.ps-canvas .ps-gallery--hv-color .ps-gallery-item img{filter:grayscale(1);transition:filter .4s ease;}
.ps-canvas .ps-gallery--hv-color .ps-gallery-item:hover img{filter:grayscale(0);}
.ps-canvas .ps-gallery--hv-focus .ps-gallery-item{transition:opacity .3s ease;}
.ps-canvas .ps-gallery--hv-focus:hover .ps-gallery-item:not(:hover){opacity:.5;}
.ps-canvas [data-animation]:not([data-animation="none"]){opacity:0;transition-property:opacity,transform;transition-timing-function:ease-out;}
.ps-canvas [data-animation="fade-up"]   {transform:translateY(var(--ps-anim-offset,32px));}
.ps-canvas [data-animation="fade-down"] {transform:translateY(calc(var(--ps-anim-offset,32px)*-1));}
.ps-canvas [data-animation="fade-left"] {transform:translateX(var(--ps-anim-offset,32px));}
.ps-canvas [data-animation="fade-right"]{transform:translateX(calc(var(--ps-anim-offset,32px)*-1));}
.ps-canvas [data-animation="zoom-in"]   {transform:scale(.9);}
.ps-canvas [data-animation="zoom-out"]  {transform:scale(1.1);}
.ps-canvas [data-animation="zoom-in-up"]{transform:translateY(var(--ps-anim-offset,32px)) scale(.9);}
.ps-canvas [data-animation="pop"]       {transform:scale(.5);transition-timing-function:cubic-bezier(.34,1.56,.64,1)!important;}
.ps-canvas [data-animation="rotate-in"] {transform:rotate(-6deg) scale(.95);}
.ps-anim-ready .ps-canvas [data-animation="blur-in"][data-animation]:not(.is-visible){filter:blur(12px);}
.ps-canvas [data-animation="blur-in"][data-animation]{transition-property:opacity,filter;}
.ps-canvas [data-animation="wipe"][data-animation]{opacity:1;position:relative;}
.ps-anim-ready .ps-canvas [data-animation="wipe"][data-animation]::after{content:'';position:absolute;inset:0;background:var(--ps-bg);z-index:5;pointer-events:none;transform-origin:right center;transition-property:transform;transition-duration:inherit;transition-delay:inherit;transition-timing-function:ease-out;}
.ps-canvas [data-animation="wipe"].is-visible::after{transform:scaleX(0);}
.ps-canvas [data-animation="flip-up"]   {transform:perspective(900px) rotateX(-60deg);transform-origin:center bottom;}
.ps-canvas [data-animation="flip-left"] {transform:perspective(900px) rotateY(45deg);transform-origin:left center;}
.ps-canvas [data-animation].is-visible  {opacity:1!important;transform:none!important;}
.ps-canvas [data-animation="blur-in"].is-visible{filter:blur(0)!important;}
@media(max-width:639px){.ps-canvas .ps-col-sm.ps-columns-2,.ps-canvas .ps-col-sm.ps-columns-3,.ps-canvas .ps-col-sm.ps-columns-4,.ps-canvas .ps-col-sm.ps-columns-6{grid-template-columns:1fr!important;}.ps-canvas .ps-col-sm>.ps-col{order:var(--ps-col-order,0);}}
@media(max-width:767px){.ps-canvas .ps-col-md.ps-columns-2,.ps-canvas .ps-col-md.ps-columns-3,.ps-canvas .ps-col-md.ps-columns-4,.ps-canvas .ps-col-md.ps-columns-6{grid-template-columns:1fr!important;}.ps-canvas .ps-col-md>.ps-col{order:var(--ps-col-order,0);}}
@media(max-width:1023px){.ps-canvas .ps-col-lg.ps-columns-2,.ps-canvas .ps-col-lg.ps-columns-3,.ps-canvas .ps-col-lg.ps-columns-4,.ps-canvas .ps-col-lg.ps-columns-6{grid-template-columns:1fr!important;}.ps-canvas .ps-col-lg>.ps-col{order:var(--ps-col-order,0);}}
@media(max-width:767px){.ps-canvas .ps-container{padding-inline:1.5rem;}}
/* ── レスポンシブ表示設定（visibility）─────────────────────
   SP=767以下 / Tablet=768-1023 / PC=1024以上 */
@media(max-width:767px){.ps-canvas .ps-visible-desktop,.ps-canvas .ps-visible-tablet-up,.ps-canvas .ps-hide-mobile{display:none !important;}}
@media(min-width:768px){.ps-canvas .ps-visible-mobile{display:none !important;}}
@media(min-width:768px) and (max-width:1023px){.ps-canvas .ps-visible-desktop{display:none !important;}}
@media(min-width:1024px){.ps-canvas .ps-visible-tablet-down{display:none !important;}}
.ps-canvas .ps-overlap-card{display:flex;align-items:stretch;gap:0;}
.ps-canvas .ps-overlap-card__img{flex:0 0 55%;position:relative;align-self:flex-start;}
.ps-canvas .ps-overlap-card__img img{width:100%;height:100%;object-fit:cover;display:block;border-radius:var(--ps-radius);}
.ps-canvas .ps-overlap-card__body-wrap{flex:1;position:relative;}
.ps-canvas .ps-overlap-card__body{position:absolute;left:0;right:0;padding:2.5rem;z-index:2;}
.ps-canvas .ps-overlap-card--img-right{flex-direction:row-reverse;}
@media(max-width:768px){.ps-canvas .ps-overlap-card{flex-direction:column !important;}.ps-canvas .ps-overlap-card__img{flex:0 0 auto;width:100%;align-self:auto;}.ps-canvas .ps-overlap-card__body-wrap{margin-left:0 !important;margin-right:0 !important;width:100%;}.ps-canvas .ps-overlap-card__body{position:relative !important;top:0 !important;}}
.ps-canvas .ps-offset-images{display:flex;align-items:flex-start;gap:0;}
.ps-canvas .ps-offset-images__img1{flex:0 0 55%;position:relative;}
.ps-canvas .ps-offset-images__img2{flex:0 0 45%;position:relative;}
.ps-canvas .ps-offset-images__img1 img,.ps-canvas .ps-offset-images__img2 img{width:100%;height:100%;object-fit:cover;display:block;border-radius:var(--ps-radius);}
@media(max-width:768px){.ps-canvas .ps-offset-images{flex-direction:column !important;padding-bottom:0 !important;}.ps-canvas .ps-offset-images__img1{flex:0 0 auto;width:85%;margin-left:auto;}.ps-canvas .ps-offset-images__img2{flex:0 0 auto;width:85%;margin-top:-30px !important;margin-left:0 !important;margin-right:auto;}}
.ps-canvas .ps-image-overlay{background-size:cover;background-position:center;background-repeat:no-repeat;border-radius:var(--ps-radius);display:flex;overflow:hidden;}
.ps-canvas .ps-image-overlay__content{flex:1;width:100%;padding:3rem 2rem;display:flex;flex-direction:column;}
@media(max-width:768px){.ps-canvas .ps-image-overlay__content{padding:2rem 1.25rem;}}
.ps-canvas .ps-contact-form{width:100%;max-width:560px;margin-inline:auto;}
.ps-canvas .ps-contact-form__title{font-family:var(--ps-font-heading);font-weight:var(--ps-weight-heading);font-size:1.5rem;margin-bottom:1.5rem;color:inherit;}
.ps-canvas .ps-contact-form__field{display:flex;flex-direction:column;gap:6px;margin-bottom:1.25rem;}
.ps-canvas .ps-contact-form__label{font-size:.875rem;font-weight:600;color:inherit;}
.ps-canvas .ps-contact-form__required{color:#ef4444;margin-left:2px;}
.ps-canvas .ps-contact-form__input,.ps-canvas .ps-contact-form__select,.ps-canvas .ps-contact-form__textarea{width:100%;padding:.625rem .875rem;border:1px solid #d1d5db;border-radius:var(--ps-radius,6px);background:#fff;color:#111827;font-family:var(--ps-font-base);font-size:1rem;transition:border-color .15s;}
.ps-canvas .ps-contact-form__input:focus,.ps-canvas .ps-contact-form__select:focus,.ps-canvas .ps-contact-form__textarea:focus{outline:none;border-color:var(--ps-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--ps-primary) 20%,transparent);}
.ps-canvas .ps-contact-form__textarea{min-height:120px;resize:vertical;}
.ps-canvas .ps-contact-form__submit{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 2rem;background:var(--ps-primary);color:#fff;border:none;border-radius:var(--ps-radius,6px);font-size:1rem;font-weight:600;cursor:pointer;transition:opacity .2s;margin-top:.5rem;}
.ps-canvas .ps-contact-form__submit:hover{opacity:.85;}
.ps-canvas .ps-contact-form__hp{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;}
.ps-canvas .ps-contact-form__success{text-align:center;padding:2.5rem 1rem;}
.ps-canvas .ps-contact-form__success-icon{width:52px;height:52px;margin:0 auto 1.25rem;border-radius:50%;background:var(--ps-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.6rem;line-height:1;}
.ps-canvas .ps-contact-form__success-text{font-size:1rem;line-height:1.9;color:inherit;}
.ps-canvas .ps-bg-dark .ps-btn--outlined,.ps-canvas .ps-bg-primary .ps-btn--outlined{color:#fff;border-color:rgba(255,255,255,.7);}
.ps-canvas .ps-bg-dark .ps-btn--outlined:hover,.ps-canvas .ps-bg-primary .ps-btn--outlined:hover{background:rgba(255,255,255,.15);color:#fff;}
.ps-canvas .ps-bg-dark .ps-btn--tonal,.ps-canvas .ps-bg-primary .ps-btn--tonal{background:rgba(255,255,255,.15);color:#fff;}
.ps-canvas .ps-bg-dark .ps-btn--tonal:hover,.ps-canvas .ps-bg-primary .ps-btn--tonal:hover{background:rgba(255,255,255,.25);}
.ps-canvas .ps-bg-dark .ps-btn--text,.ps-canvas .ps-bg-primary .ps-btn--text{color:#fff;}
.ps-canvas .ps-bg-dark .ps-btn--text:hover,.ps-canvas .ps-bg-primary .ps-btn--text:hover{color:rgba(255,255,255,.75);}
.ps-canvas .ps-bg-dark .ps-btn--elevated,.ps-canvas .ps-bg-primary .ps-btn--elevated{background:#fff;color:#111827;}
.ps-canvas .ps-bg-dark .ps-btn--outlined.ps-btn-hover--sweep-left:hover,.ps-canvas .ps-bg-dark .ps-btn--outlined.ps-btn-hover--sweep-right:hover,.ps-canvas .ps-bg-dark .ps-btn--outlined.ps-btn-hover--sweep-top:hover,.ps-canvas .ps-bg-dark .ps-btn--outlined.ps-btn-hover--sweep-bottom:hover,.ps-canvas .ps-bg-primary .ps-btn--outlined.ps-btn-hover--sweep-left:hover,.ps-canvas .ps-bg-primary .ps-btn--outlined.ps-btn-hover--sweep-right:hover,.ps-canvas .ps-bg-primary .ps-btn--outlined.ps-btn-hover--sweep-top:hover,.ps-canvas .ps-bg-primary .ps-btn--outlined.ps-btn-hover--sweep-bottom:hover{background:transparent;color:var(--ps-btn-hover-color);}
.ps-canvas .ps-bg-dark .ps-btn--tonal.ps-btn-hover--sweep-left:hover,.ps-canvas .ps-bg-dark .ps-btn--tonal.ps-btn-hover--sweep-right:hover,.ps-canvas .ps-bg-dark .ps-btn--tonal.ps-btn-hover--sweep-top:hover,.ps-canvas .ps-bg-dark .ps-btn--tonal.ps-btn-hover--sweep-bottom:hover,.ps-canvas .ps-bg-primary .ps-btn--tonal.ps-btn-hover--sweep-left:hover,.ps-canvas .ps-bg-primary .ps-btn--tonal.ps-btn-hover--sweep-right:hover,.ps-canvas .ps-bg-primary .ps-btn--tonal.ps-btn-hover--sweep-top:hover,.ps-canvas .ps-bg-primary .ps-btn--tonal.ps-btn-hover--sweep-bottom:hover{background:rgba(255,255,255,.15);color:var(--ps-btn-hover-color);}
.ps-canvas .ps-bg-dark .ps-faq details,.ps-canvas .ps-bg-dark .ps-faq details:first-child,.ps-canvas .ps-bg-primary .ps-faq details,.ps-canvas .ps-bg-primary .ps-faq details:first-child{border-color:rgba(255,255,255,.15);}
.ps-canvas .ps-bg-dark .ps-news-list__item,.ps-canvas .ps-bg-dark .ps-news-list__item:first-child,.ps-canvas .ps-bg-primary .ps-news-list__item,.ps-canvas .ps-bg-primary .ps-news-list__item:first-child{border-color:rgba(255,255,255,.15);}
.ps-canvas .ps-bg-dark .ps-news-list__pager button,.ps-canvas .ps-bg-primary .ps-news-list__pager button{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.2);}
.ps-canvas .ps-bg-dark .ps-news-list__pager button:hover,.ps-canvas .ps-bg-primary .ps-news-list__pager button:hover{background:rgba(255,255,255,.2);}
.ps-canvas .ps-bg-dark .ps-news-list__pager button.ps-pager-active,.ps-canvas .ps-bg-primary .ps-news-list__pager button.ps-pager-active{background:rgba(255,255,255,.9);color:#111827;border-color:transparent;}
.ps-canvas .ps-bg-dark .ps-dot,.ps-canvas .ps-bg-primary .ps-dot{background:rgba(255,255,255,.3);}
.ps-canvas .ps-bg-dark .ps-dot.ps-dot--active,.ps-canvas .ps-bg-primary .ps-dot.ps-dot--active{background:#fff;}
.ps-canvas .ps-bg-dark .ps-news-compact__more a,.ps-canvas .ps-bg-primary .ps-news-compact__more a{color:rgba(255,255,255,.8);}
/* ── 追従ボタン（floating_button・画面固定のCTA） ─────────────── */
/* 中央寄せ（tc/bc/ml/mr）は translate で寄せるため、表示アニメの移動量と合成する。
   --ps-fab-tx / --ps-fab-ty が中央寄せ分、+10px が下からのスライドイン分。 */
.ps-canvas .ps-float-btn-wrap{position:fixed;z-index:95;opacity:0;visibility:hidden;transform:translate(var(--ps-fab-tx,0),calc(var(--ps-fab-ty,0px) + 10px));transition:opacity .35s ease,transform .35s ease,visibility .35s;}
.ps-canvas .ps-float-btn-wrap.is-shown{opacity:1;visibility:visible;transform:translate(var(--ps-fab-tx,0),var(--ps-fab-ty,0px));}
.ps-canvas .ps-float-btn-wrap--tl{left:var(--ps-fab-x,24px);top:var(--ps-fab-y,24px);}
.ps-canvas .ps-float-btn-wrap--tc{left:50%;top:var(--ps-fab-y,24px);--ps-fab-tx:-50%;}
.ps-canvas .ps-float-btn-wrap--tr{right:var(--ps-fab-x,24px);top:var(--ps-fab-y,24px);}
.ps-canvas .ps-float-btn-wrap--ml{left:var(--ps-fab-x,24px);top:50%;--ps-fab-ty:-50%;}
.ps-canvas .ps-float-btn-wrap--mr{right:var(--ps-fab-x,24px);top:50%;--ps-fab-ty:-50%;}
.ps-canvas .ps-float-btn-wrap--bl{left:var(--ps-fab-x,24px);bottom:var(--ps-fab-y,24px);}
.ps-canvas .ps-float-btn-wrap--bc{left:50%;bottom:var(--ps-fab-y,24px);--ps-fab-tx:-50%;}
.ps-canvas .ps-float-btn-wrap--br{right:var(--ps-fab-x,24px);bottom:var(--ps-fab-y,24px);}
.ps-canvas .ps-float-btn{display:inline-flex;align-items:center;gap:.55em;padding:.95em 1.5em;border-radius:999px;background:var(--ps-fab-bg,var(--ps-primary));color:var(--ps-fab-color,#fff);font-weight:700;line-height:1;text-decoration:none;box-shadow:0 8px 24px rgba(0,0,0,.24);transition:filter .15s ease,box-shadow .15s ease;}
.ps-canvas .ps-float-btn:hover{filter:brightness(1.08);box-shadow:0 10px 28px rgba(0,0,0,.3);}
.ps-canvas .ps-float-btn--sm{font-size:.8125rem;}
.ps-canvas .ps-float-btn--md{font-size:.9375rem;}
.ps-canvas .ps-float-btn--lg{font-size:1.125rem;}
.ps-canvas .ps-float-btn--circle{width:3.2em;height:3.2em;padding:0;justify-content:center;}
.ps-canvas .ps-float-btn i{font-size:1.1em;line-height:0;}
.ps-canvas .ps-float-btn-img{display:block;line-height:0;}
.ps-canvas .ps-float-btn-img img{display:block;height:auto;transition:transform .15s ease;}
.ps-canvas .ps-float-btn-img:hover img{transform:scale(1.05);}
.ps-canvas .ps-float-btn--float{animation:ps-fab-float var(--ps-fab-dur,3s) ease-in-out infinite;}
@keyframes ps-fab-float{0%,100%{transform:translateY(0);}50%{transform:translateY(calc(var(--ps-fab-amp,6px) * -1));}}
@media (prefers-reduced-motion: reduce){.ps-canvas .ps-float-btn--float{animation:none;}}
