@font-face{font-family:'Jost';font-style:normal;font-weight:300;font-display:swap;src:url(../fonts/jost-latin-300-normal.woff2) format('woff2')}
@font-face{font-family:'Jost';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/jost-latin-500-normal.woff2) format('woff2')}

body{margin:0;background:#FFFFFF;color:#252525;font-family:"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic Medium","YuGothic","Meiryo",sans-serif;-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}
h1,h2,h3,h4,p,dl,dd,ul,ol,figure,table{margin:0}
a{color:#252525}a:hover{color:#8A6500}
button{font-family:inherit}
.en{font-family:'Jost',"Avenir Next",sans-serif;letter-spacing:.02em}
.wrap{width:100%;max-width:1080px;margin:0 auto;padding-left:40px;padding-right:40px}
.ph{background-color:#EDF0F2;background-image:repeating-linear-gradient(135deg,rgba(37,37,37,.04) 0 12px,transparent 12px 24px)}
.nav a{color:#4A4848;text-decoration:none}
.nav a:hover{color:#252525}
.btn{position:relative;overflow:hidden;transition:transform .2s}
.btn::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.7),transparent);transform:skewX(-20deg)}
.btn:hover::after{animation:sweep .7s ease-out}
.wire{position:relative;height:2px;background:rgba(255,222,95,.35);overflow:hidden}
.wire::after{content:"";position:absolute;top:0;left:0;width:22%;height:100%;background:linear-gradient(90deg,transparent,#FFDE5F,#FFFFFF,#FFDE5F,transparent);animation:flow 3s linear infinite}
.fw{position:relative;height:4px;border-radius:2px;background:#F3E3A0;overflow:hidden}
.fw::after{content:"";position:absolute;top:0;left:0;width:35%;height:100%;background:linear-gradient(90deg,transparent,#F7B500,#FFFFFF,#F7B500,transparent);animation:flow 1.6s linear infinite}
.fw.rev::after{animation-direction:reverse}
.fw.off{background:#E3E6E8}.fw.off::after{display:none}
.vw{position:relative;width:4px;border-radius:2px;background:#F3E3A0;overflow:hidden;margin:0 auto}
.vw::after{content:"";position:absolute;left:0;top:0;width:100%;height:40%;background:linear-gradient(180deg,transparent,#F7B500,#FFFFFF,#F7B500,transparent);animation:vflow 1.6s linear infinite}
.vw.up::after{animation-direction:reverse}
.vw.buy{background:#DADFE3}.vw.buy::after{background:linear-gradient(180deg,transparent,#8F9AAB,#FFFFFF,#8F9AAB,transparent)}
.vw.off{background:#E3E6E8}.vw.off::after{display:none}
.node{flex:none;width:10px;height:10px;border-radius:50%;background:#FFDE5F;animation:pulse 2.2s ease-out infinite}
.sun{animation:sun 2.6s ease-in-out infinite}
.fill{animation:fill 4s ease-in-out infinite alternate}
.drain{animation:drain 4s ease-in-out infinite alternate}
.pop{opacity:0;animation:pop .5s ease-out forwards}
.p2{animation-delay:.5s}.p3{animation-delay:1s}
.blink{animation:blink 1.4s ease-in-out infinite}
.bar{transform-origin:bottom;animation:grow 1s cubic-bezier(.2,.8,.2,1) both}
.seg button{cursor:pointer}
details summary{cursor:pointer;list-style:none}
details summary::-webkit-details-marker{display:none}
details[open] .plus{transform:rotate(45deg)}
.plus{transition:transform .25s}
.tbl th,.tbl td{padding:12px 10px;text-align:right;border-bottom:1px solid #E3E6E8;white-space:nowrap}
.tbl th:first-child,.tbl td:first-child{text-align:left}
.tbl thead th{font-size:12px;color:#605E5E;border-bottom:1px solid #252525}
@supports (animation-timeline: view()){
  .rv{animation:rv linear both;animation-timeline:view();animation-range:entry 0% cover 28%}
  .bar{animation:grow linear both;animation-timeline:view();animation-range:entry 10% cover 45%}
}
@keyframes rv{from{opacity:0;transform:translateY(36px)}to{opacity:1;transform:none}}
@keyframes flow{from{transform:translateX(-100%)}to{transform:translateX(300%)}}
@keyframes vflow{from{transform:translateY(-100%)}to{transform:translateY(260%)}}
@keyframes sweep{to{left:130%}}
@keyframes grow{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(255,222,95,.8)}70%{box-shadow:0 0 0 12px rgba(255,222,95,0)}100%{box-shadow:0 0 0 0 rgba(255,222,95,0)}}
@keyframes sun{0%,100%{box-shadow:0 0 0 0 rgba(247,181,0,.35)}50%{box-shadow:0 0 0 14px rgba(247,181,0,0)}}
@keyframes fill{from{height:30%}to{height:92%}}
@keyframes drain{from{height:88%}to{height:28%}}
@keyframes pop{from{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:none}}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.35}}
@media (prefers-reduced-motion:reduce){*,*::after{animation:none !important;transition:none !important}.rv,.pop{opacity:1 !important}}
@media (max-width:720px){.wrap{padding-left:20px;padding-right:20px}.hide-sp{display:none !important}}



/*HX-START*/
.hx-col{flex:1.25 1 460px;display:flex;flex-direction:column;gap:14px;min-width:0}
.hx{position:relative;background:#FFFFFF;box-shadow:0 14px 36px rgba(37,37,37,.08);padding:12px}
.hxsvg{display:block;width:100%;height:auto;overflow:visible}
.fl{fill:none;stroke:#F7B500;stroke-width:4;stroke-linecap:round;stroke-dasharray:2 12;opacity:.35;transition:opacity .3s,stroke-width .3s;animation:hxflow 1.2s linear infinite}
.f5{animation-duration:1.6s}.f6{stroke:#8A6500;stroke-dasharray:1 9;animation-duration:2s}
@keyframes hxflow{to{stroke-dashoffset:-28}}
.sunr{transform-origin:486px 58px;animation:hxspin 14s linear infinite}
@keyframes hxspin{to{transform:rotate(360deg)}}
.ray{animation:hxflow 1s linear infinite}
.breeze{animation:hxbreeze 1.6s ease-in-out infinite}
@keyframes hxbreeze{0%,100%{opacity:.2;transform:translateY(-2px)}50%{opacity:1;transform:translateY(2px)}}
.bulb2{animation:hxbulb 2.4s ease-in-out infinite}
@keyframes hxbulb{0%,100%{filter:none}50%{filter:drop-shadow(0 0 8px #FFDE5F)}}
.cell{animation:hxcell 3.2s steps(1) infinite}
.c2{animation-delay:.4s}.c3{animation-delay:.8s}.c4{animation-delay:1.2s}
@keyframes hxcell{0%{opacity:.15}30%,100%{opacity:1}}
.n1,.n2,.n3,.n4,.n5,.n6{transition:filter .3s,opacity .3s}
.hx.s1 .n1,.hx.s2 .n2,.hx.s3 .n3,.hx.s4 .n4,.hx.s5 .n5,.hx.s6 .n6{filter:drop-shadow(0 0 10px rgba(247,181,0,.9))}
.hx.s1 .f1,.hx.s2 .f1,.hx.s2 .f3,.hx.s2 .f4,.hx.s2 .f5,.hx.s3 .f3,.hx.s4 .f4,.hx.s5 .f5,.hx.s6 .f6{opacity:1;stroke-width:5}
.hx-hot{white-space:nowrap;position:absolute;transform:translate(-50%,-50%);display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 12px 0 6px;border-radius:999px;border:2px solid #F7B500;background:#FFFFFF;color:#252525;font:inherit;font-size:13px;font-weight:700;cursor:pointer;box-shadow:0 6px 16px rgba(37,37,37,.12);transition:transform .2s,background .2s}
.hx-hot:hover{transform:translate(-50%,-50%) scale(1.06)}
.hx-hot:focus-visible{outline:3px solid #252525;outline-offset:2px}
.hx-no{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:#FFDE5F;font-size:16px;font-weight:500;position:relative}
.hx-hot:not(.on) .hx-no::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid #F7B500;animation:hxping 2s ease-out infinite}
@keyframes hxping{0%{transform:scale(.8);opacity:1}100%{transform:scale(1.5);opacity:0}}
.hx-hot.on{background:#252525;color:#FFFFFF;border-color:#252525;transform:translate(-50%,-50%) scale(1.08)}
.hx-info{background:#FFFFFF;border-top:4px solid #F7B500;padding:22px 26px 20px;display:flex;flex-direction:column;gap:14px;box-shadow:0 14px 36px rgba(37,37,37,.08)}
.hx-top{display:flex;justify-content:space-between;align-items:center;font-size:12px;letter-spacing:.2em;color:#8A6500}
.hx-dots{display:flex;gap:6px}.hx-dots i{width:22px;height:4px;border-radius:2px;background:#E3E6E8}.hx-dots i.on{background:#F7B500}
.hx-kicker{margin:0;font-size:13px;font-weight:700;color:#8A6500}
.hx-title{margin:0;font-size:clamp(19px,1.8vw,23px);font-weight:700;line-height:1.5}
.hx-text{margin:0;font-size:15px;line-height:1.95}
.hx-swap{animation:hxin .35s ease-out}
@keyframes hxin{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.hx-nav{display:flex;justify-content:space-between;gap:10px}
.hx-nav button{appearance:none;font:inherit;font-size:14px;font-weight:700;min-height:46px;padding:0 20px;border-radius:999px;border:1px solid #DBDBDB;background:#FFFFFF;color:#252525;cursor:pointer}
.hx-nav .hx-next{background:#252525;color:#FFFFFF;border-color:#252525}
.hx-nav button:focus-visible{outline:3px solid #F7B500;outline-offset:2px}
.hx-hint{display:flex;align-items:center;gap:10px;font-size:14px;color:#4A4848;margin:0}
.hx-tap{width:12px;height:12px;border-radius:50%;background:#F7B500;box-shadow:0 0 0 0 rgba(247,181,0,.7);animation:hxtap 1.8s ease-out infinite;flex:none}
@keyframes hxtap{70%{box-shadow:0 0 0 10px rgba(247,181,0,0)}100%{box-shadow:0 0 0 0 rgba(247,181,0,0)}}
@media (max-width:960px){.hx-hint{display:none}}
@media (max-width:720px){.hx{padding:6px}.hx-hot{padding:0;border-width:2px;min-height:40px;min-width:40px;justify-content:center}.hx-lb{display:none}.hx-no{width:30px;height:30px}.hx-info{padding:18px 18px 16px}.hx-text{font-size:14.5px}}
@media (prefers-reduced-motion:reduce){.fl,.sunr,.ray,.breeze,.bulb2,.cell,.hx-no::after,.hx-swap,.hx-tap{animation:none !important}.fl{stroke-dasharray:none}}
/*HX-END*/

/*OS-START*/
.os{position:relative;padding-top:112px;padding-bottom:112px;background:linear-gradient(180deg,#FFFFFF 0%,#FFFBEA 100%);overflow:hidden}
.os-intro{display:flex;flex-direction:column;align-items:center;text-align:center;gap:18px}
.os-label{margin:0;font-size:13px;letter-spacing:.3em;color:#8A6500}
.os-intro h2{margin:0;font-size:clamp(24px,3vw,36px);font-weight:700;line-height:1.55}
.os-lead{margin:0;font-size:15px;line-height:2.05;color:#3A3838;max-width:760px}
.os-flow{list-style:none;margin:0;padding:0;position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.os-wire{position:absolute;left:24px;right:24px;top:11px;height:3px;background:#F3E3A0;overflow:hidden;border-radius:2px}
.os-wire span{position:absolute;top:0;bottom:0;left:-30%;width:30%;background:linear-gradient(90deg,transparent,#F7B500,#FFFFFF,#F7B500,transparent);animation:oswire 3s linear infinite}
@keyframes oswire{to{left:100%}}
.os-step{position:relative;display:flex;flex-direction:column;gap:16px}
.os-head{display:flex;align-items:center;gap:12px;height:25px}
.os-node{width:25px;height:25px;border-radius:50%;background:#FFFFFF;border:4px solid #F7B500;box-shadow:0 0 0 4px rgba(255,222,95,.35);flex:none}
.os-no{font-size:22px;font-weight:500;line-height:1}
.os-en{font-size:11px;letter-spacing:.24em;color:#8A6500}
.os-ic{width:72px;height:72px;border-radius:50%;background:#FFFFFF;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 24px rgba(247,181,0,.18);margin-top:8px}
.os-step h3{margin:0;font-size:clamp(24px,2.4vw,30px);font-weight:700;letter-spacing:.08em;padding-bottom:12px;border-bottom:2px solid #252525}
.os-step p{margin:0;font-size:14.5px;line-height:2;color:#3A3838}
.osbulb{animation:osbulb 2.4s ease-in-out infinite}
@keyframes osbulb{0%,100%{filter:none}50%{filter:drop-shadow(0 0 5px #F7B500)}}
.osline{stroke-dasharray:12;stroke-dashoffset:12;animation:osdraw 2.4s ease-in-out infinite}
@keyframes osdraw{40%,80%{stroke-dashoffset:0}100%{stroke-dashoffset:-12}}
.osspark{animation:osspark 1.2s steps(2) infinite}
@keyframes osspark{50%{opacity:0}}
.os-merit{background:#252525;color:#FFFFFF;padding:36px 40px;display:grid;grid-template-columns:minmax(0,3fr) minmax(0,9fr);gap:20px 40px;align-items:center}
.os-merit-t{margin:0;font-size:20px;font-weight:700;color:#FFDE5F;line-height:1.6}
.os-merit ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.os-merit li{display:flex;flex-direction:column;gap:8px;padding-left:16px;border-left:2px solid #4A4848}
.os-merit b{font-size:16px}
.os-merit li span{font-size:13px;line-height:1.85;color:#DADADA}
.os-hero{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0;font-size:14px;font-weight:700}
.os-chip{padding:5px 12px;background:#252525;color:#FFFFFF;border-radius:999px;font-size:13px}
.os-hero i{width:14px;height:2px;background:#F7B500;display:inline-block}
.os-hero-t{margin-left:4px}
@media (max-width:960px){
.os-flow{grid-template-columns:1fr;gap:36px;padding-left:44px}
.os-wire{left:11px;right:auto;top:12px;bottom:12px;width:3px;height:auto}
.os-wire span{left:0;right:0;width:auto;top:-30%;height:30%;background:linear-gradient(180deg,transparent,#F7B500,#FFFFFF,#F7B500,transparent);animation:oswirey 3s linear infinite}
@keyframes oswirey{to{top:100%}}
.os-node{position:absolute;left:-44px}
.os-head{gap:10px}
.os-merit{grid-template-columns:1fr;padding:28px 24px}
.os-merit ul{grid-template-columns:1fr;gap:18px}
}
@media (max-width:720px){.os{padding-top:80px;padding-bottom:80px}.os-intro h2{font-size:22px}.os-lead{font-size:14.5px;text-align:left}}
@media (prefers-reduced-motion:reduce){.os-wire span,.osbulb,.osline,.osspark{animation:none !important}.osline{stroke-dashoffset:0}}
/*OS-END*/
/*SRSP-START*/
@media (max-width:720px){
.telpill{width:100%;justify-content:center;padding:0 20px !important;gap:10px !important;min-height:76px !important}
.telpill .en{font-size:32px !important;white-space:nowrap}
}
@media (max-width:720px){
.flowfig{padding:28px 10px !important;overflow-x:visible !important}
.flowgrid{min-width:0 !important;grid-template-columns:1fr 18px 1.1fr 18px 1fr !important}
.flowgrid > div{padding-left:6px !important;padding-right:6px !important}
.flowgrid span{font-size:12px !important;line-height:1.45 !important}
.flowgrid span.en{font-size:19px !important}
.flowgrid > div > span[aria-hidden="true"]{width:20px !important;height:34px !important}
.flowgrid > div:has(> span[aria-hidden="true"]){flex-direction:column !important;gap:6px !important}
}
/*SRSP-END*/
/* ===== 会社資料ボタン：電気がつく ===== */
.pdfbtn{position:relative;overflow:hidden;background:#FFDE5F !important;color:#252525 !important;box-shadow:inset 0 0 0 1.5px #F7B500,0 6px 18px rgba(247,181,0,.4);transition:transform .2s,box-shadow .2s;animation:pdfon 1.6s ease-out .3s both,pdfglow 3.6s ease-in-out 1.9s infinite}
.pdfbtn:hover{transform:translateY(-2px);box-shadow:inset 0 0 0 1.5px #F7B500,0 0 0 6px rgba(255,222,95,.35),0 10px 28px rgba(247,181,0,.6)}
.pdfbtn:focus-visible{outline:3px solid #252525;outline-offset:3px}
.pdfbtn .bulb{flex:none;overflow:visible}
.pdfbtn .bglass{fill:#FFFFFF !important;filter:drop-shadow(0 0 3px rgba(255,255,255,.9));animation:bglass 1.6s ease-out .3s both}
.pdfbtn .bray{animation:bray 3.6s ease-in-out 1.9s infinite}
.pdfbtn::before{content:"";position:absolute;top:0;bottom:0;left:-40%;width:30%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.85),transparent);transform:skewX(-20deg);animation:pdfsheen 3.6s ease-in-out 1.9s infinite;pointer-events:none}
@keyframes pdfon{0%{background:#4A4848;color:#FFFFFF;box-shadow:none}12%{background:#FFF1B8;color:#252525;box-shadow:0 0 22px 6px rgba(255,222,95,.9)}18%{background:#4A4848;color:#FFFFFF;box-shadow:none}28%{background:#FFDE5F;color:#252525;box-shadow:0 0 26px 8px rgba(255,222,95,.9)}34%{background:#8A8270;box-shadow:none}48%{background:#FFF6D1;color:#252525;box-shadow:0 0 34px 12px rgba(255,222,95,.95)}100%{background:#FFDE5F;color:#252525;box-shadow:inset 0 0 0 1.5px #F7B500,0 6px 18px rgba(247,181,0,.4)}}
@keyframes bglass{0%{fill:#605E5E}11%{fill:#605E5E}12%{fill:#FFFFFF}17%{fill:#605E5E}28%{fill:#FFFFFF}100%{fill:#FFFFFF}}
@keyframes pdfglow{0%,100%{box-shadow:inset 0 0 0 1.5px #F7B500,0 6px 18px rgba(247,181,0,.4)}50%{box-shadow:inset 0 0 0 1.5px #F7B500,0 0 0 5px rgba(255,222,95,.35),0 0 30px 8px rgba(255,222,95,.75)}}
@keyframes bray{0%,100%{opacity:.35}50%{opacity:1}}
@keyframes pdfsheen{0%,55%{left:-40%}80%,100%{left:130%}}
@media (prefers-reduced-motion:reduce){.pdfbtn,.pdfbtn *,.pdfbtn::before{animation:none !important}}
/*RSP-START*/
/* ===== タブレット・スマホ最適化（共通） ===== */
html{-webkit-text-size-adjust:100%}
img{max-width:100%}
.spc,.spbar,.sp-br{display:none}
.more{display:inline-flex;align-items:center;min-height:44px}
@media (max-width:960px){
  .wrap{padding-left:28px !important;padding-right:28px !important}
  .hd{position:sticky !important;top:0;z-index:100 !important;box-shadow:0 1px 0 rgba(37,37,37,.06)}
  .hd::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,rgba(255,222,95,.2),#FFDE5F,rgba(255,222,95,.2))}
  .hd-top{flex-wrap:nowrap !important;gap:12px !important;min-height:68px;padding-top:10px !important;padding-bottom:10px !important}
  .hd-top > a{gap:10px !important;min-width:0}
  .hd-top > a img{height:44px !important}
  .hd-top > a > span:nth-of-type(1){font-size:15px !important;letter-spacing:.1em !important}
  .hd-top > a > span:nth-of-type(2){display:none !important}
  .hd-act,.hd-nav{display:none !important}
  .spc{display:flex;align-items:center;gap:10px;flex:none}
  .spc-tel{width:48px;height:48px;border-radius:50%;border:1px solid #DBDBDB;display:flex;align-items:center;justify-content:center;background:#FFFFFF}
  .spc-tel:active{background:#FFF6D1}
  .spm{position:static}
  .spm > summary{list-style:none;position:relative;z-index:3;width:48px;height:48px;border-radius:50%;background:#FFDE5F;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 14px rgba(247,181,0,.35)}
  .spm > summary::-webkit-details-marker{display:none}
  .spm > summary:focus-visible{outline:3px solid #252525;outline-offset:3px}
  .bars{position:relative;width:20px;height:14px;display:block}
  .bars i{position:absolute;left:0;width:20px;height:2px;border-radius:2px;background:#252525;transition:transform .3s,opacity .2s,top .3s}
  .bars i:nth-child(1){top:0}.bars i:nth-child(2){top:6px}.bars i:nth-child(3){top:12px}
  .spm[open] .bars i:nth-child(1){top:6px;transform:rotate(45deg)}
  .spm[open] .bars i:nth-child(2){opacity:0}
  .spm[open] .bars i:nth-child(3){top:6px;transform:rotate(-45deg)}
  .spm-panel{position:fixed;inset:0;z-index:2;background:#242323;color:#FFFFFF;display:flex;flex-direction:column;animation:spmdrop .34s ease-out}
  .spm-head{height:68px;flex:none;display:flex;align-items:center;gap:10px;padding:0 28px;font-size:12px;letter-spacing:.3em;color:#FFDE5F}
  .spm-nav{flex:1;overflow-y:auto;padding:8px 28px;-webkit-overflow-scrolling:touch}
  .spm-nav ul{list-style:none;margin:0;padding:0}
  .spm-nav li{border-bottom:1px solid #3D3B3B;opacity:0;animation:spmrise .4s ease-out forwards}
  .spm-nav li:nth-child(2){animation-delay:.04s}.spm-nav li:nth-child(3){animation-delay:.08s}.spm-nav li:nth-child(4){animation-delay:.12s}.spm-nav li:nth-child(5){animation-delay:.16s}.spm-nav li:nth-child(6){animation-delay:.2s}.spm-nav li:nth-child(7){animation-delay:.24s}.spm-nav li:nth-child(8){animation-delay:.28s}
  .spm-nav a.item{display:flex;align-items:center;gap:12px;min-height:60px;padding:0 4px;color:#FFFFFF;text-decoration:none}
  .spm-nav a.item:active{background:rgba(255,222,95,.12)}
  .spm-nav a[aria-current="page"] .spm-jp{color:#FFDE5F}
  .spm-jp{font-size:17px;font-weight:700}
  .spm-en{flex:1;font-size:11px;letter-spacing:.14em;color:#BDBDBD}
  .spm-foot{flex:none;padding:16px 28px calc(22px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:10px;border-top:1px solid #3D3B3B}
  .spm-tel{display:flex;align-items:center;justify-content:center;gap:10px;min-height:60px;background:#FFDE5F;color:#252525 !important;border-radius:999px;text-decoration:none;font-weight:700;font-size:13px}
  .spm-tel .en{font-size:26px;font-weight:500}
  .spm-foot p{font-size:11px;line-height:1.7;color:#BDBDBD;text-align:center;margin:0}
  .spm-pdf{display:flex;align-items:center;justify-content:center;gap:8px;min-height:52px;border-radius:999px;text-decoration:none;font-size:13px;font-weight:700}
  .spm-pdf.pdfbtn{background:transparent !important;color:#FFFFFF !important;box-shadow:inset 0 0 0 1px #5C5A58 !important;animation:none !important}
  .spm-pdf.pdfbtn::before{display:none}
  .spm-pdf .bray,.spm-pdf path{stroke:#FFDE5F !important}
  .spm-pdf .bglass{fill:transparent !important;filter:none !important}
  body:has(.spm[open]){overflow:hidden}
  nav[aria-label="フッターメニュー"]{gap:0 32px !important}
  nav[aria-label="フッターメニュー"] a{display:flex;align-items:center;min-height:44px}
  .qnav button{min-height:44px}
  @keyframes spmdrop{from{clip-path:circle(0 at calc(100% - 52px) 34px)}to{clip-path:circle(150% at calc(100% - 52px) 34px)}}
  @keyframes spmrise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
}
@media (max-width:720px){
  .wrap{padding-left:20px !important;padding-right:20px !important}
  .hd-top > a img{height:40px !important}
  .hd-top > a > span:nth-of-type(1){font-size:14px !important}
  .spm-head,.spm-nav,.spm-foot{padding-left:20px;padding-right:20px}
  .sp-br{display:inline}
  .spbar{display:grid;grid-template-columns:1.25fr 1fr;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:90;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 -6px 20px rgba(37,37,37,.08)}
  .spbar a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:52px;border-radius:999px;text-decoration:none;font-weight:700;font-size:14px;color:#252525}
  .spbar-tel{background:#252525;color:#FFFFFF !important}
  .spbar-tel svg{stroke:#FFDE5F}
  footer{padding-bottom:84px}
  .sh-fixcall{display:none !important}
}
@media (prefers-reduced-motion:reduce){.spm-panel,.spm-nav li{animation:none !important;opacity:1 !important}}
/*RSP-END*/
/*PERF-START*/
/* ===== 最終チェック：パフォーマンス・アクセシビリティ調整 =====
   ・ずっと動き続けるアニメーションは transform / opacity だけで動かす（GPU処理で軽い）
   ・光る・影が広がるなど重い装飾は回数を限定して、最後は「点灯した状態」で止める */
.skip{position:absolute;left:12px;top:-60px;z-index:200;padding:12px 18px;background:#252525;color:#FFFFFF !important;border-radius:8px;font-weight:700;text-decoration:none;transition:top .2s}
.skip:focus{top:12px}
:focus-visible{outline:3px solid #252525;outline-offset:2px}
.node{position:relative;animation:none !important}
.node::after{content:"";position:absolute;inset:0;border-radius:50%;background:rgba(255,222,95,.85);animation:pulse2 2.2s ease-out infinite;pointer-events:none}
@keyframes pulse2{0%{transform:scale(1);opacity:.85}70%,100%{transform:scale(2.6);opacity:0}}
.pdfbtn{animation:pdfon 1.6s ease-out .3s both,pdfglow 3.6s ease-in-out 1.9s 2 !important}
.pdfbtn .bray{animation-iteration-count:2 !important}
.pdfbtn::before{left:0 !important;transform:translateX(-160%) skewX(-20deg);animation:pdfsheen2 3.6s ease-in-out 1.9s 2 !important}
@keyframes pdfsheen2{0%,55%{transform:translateX(-160%) skewX(-20deg)}80%,100%{transform:translateX(420%) skewX(-20deg)}}
.mspark{left:0 !important;right:auto !important;width:100% !important;background:linear-gradient(90deg,transparent 44%,#FFDE5F 47%,#F7B500 50%,transparent 53%) !important;animation:mspark2 2.8s linear infinite !important}
.mspark.r{animation:mspark2 2.2s ease-in infinite !important}
.mspark.lft{animation:msparkl2 2.2s ease-in infinite !important}
@keyframes mspark2{from{transform:translateX(-56%)}to{transform:translateX(56%)}}
@keyframes msparkl2{from{transform:translateX(56%)}to{transform:translateX(-56%)}}
.mjoint,.glow-word,.qlamp,.sun,.hxbulb,.bulb2,.hx-tap,.osbulb,.osline,.osspark{animation-iteration-count:4 !important}
.st-flow{left:0 !important;width:100% !important;background:linear-gradient(90deg,transparent 45%,#FFFFFF 50%,transparent 55%) !important;animation:stflow2 1.6s linear infinite,stflowv 14s linear 4 !important}
@keyframes stflow2{from{transform:translateX(-56%)}to{transform:translateX(56%)}}
.st-fill,.st-icon,.st-text,.st-node,.st-icon .lamp,.st-icon .cone,.st-icon .wave,.c1,.c2{animation-iteration-count:4 !important}
.st-icon,.st-text{filter:none !important}
.st-node{box-shadow:0 0 0 2px #F7B500 !important}
.os-wire span{left:0 !important;width:100% !important;background:linear-gradient(90deg,transparent 42%,#F7B500 46%,#FFFFFF 50%,#F7B500 54%,transparent 58%) !important;animation:oswire2 3s linear infinite !important}
@keyframes oswire2{from{transform:translateX(-58%)}to{transform:translateX(58%)}}
.hx .fl{animation-play-state:paused}
.fl,.ray{animation-timing-function:steps(14) !important}.sunr{animation-iteration-count:2 !important}.ray{animation-iteration-count:10 !important}.breeze,.cell{animation-iteration-count:5 !important}
.hx.s1 .f1,.hx.s2 .f1,.hx.s2 .f3,.hx.s2 .f4,.hx.s2 .f5,.hx.s3 .f3,.hx.s4 .f4,.hx.s5 .f5,.hx.s6 .f6{animation-play-state:running}
.hx-hot.on .hx-no{color:#252525}
.qrow.on .qno{color:#8A6500 !important}
/* WordPress実装時：画面外のセクションのアニメーションを止める（html に .io クラスを付ける小さなJSとセット） */
html.io section:not(.in-view) *:not(.rv),html.io section:not(.in-view) *::before,html.io section:not(.in-view) *::after{animation-play-state:paused !important}
@media (max-width:960px){
  html{scroll-padding-top:84px}
  .pnav{top:68px !important}
  .st-flow{top:0 !important;left:0 !important;right:0 !important;width:auto !important;height:100% !important;background:linear-gradient(180deg,transparent 45%,#FFFFFF 50%,transparent 55%) !important;animation:stflowy2 1.6s linear infinite,stflowv 14s linear 4 !important}
  @keyframes stflowy2{from{transform:translateY(-56%)}to{transform:translateY(56%)}}
  .os-wire span{top:0 !important;left:0 !important;right:0 !important;width:auto !important;height:100% !important;background:linear-gradient(180deg,transparent 42%,#F7B500 46%,#FFFFFF 50%,#F7B500 54%,transparent 58%) !important;animation:oswirey2 3s linear infinite !important}
  @keyframes oswirey2{from{transform:translateY(-58%)}to{transform:translateY(58%)}}
}
@media (max-width:720px){
  html{scroll-padding-bottom:96px}
  .spbar{-webkit-backdrop-filter:none !important;backdrop-filter:none !important;background:#FFFFFF !important}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none !important;transition:none !important}}
/*PERF-END*/

/* WordPress additions */
.nav a[aria-current="page"]{color:#252525;font-weight:700}
.qinline[hidden],.hx-sr,.flow-night[hidden],.flow-day[hidden]{display:none !important}
.sr,.hx-sr{position:absolute !important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
body.admin-bar .hd{top:var(--wp-admin--admin-bar--height,0)}

.wf-btn{min-height:46px;padding:0 22px;border:1px solid #DBDBDB;background:#FFFFFF;color:#252525;font:inherit;font-size:14px;font-weight:700;border-radius:999px;cursor:pointer}
.wf-btn[aria-pressed="true"]{border-color:#252525;background:#252525;color:#FFFFFF}
.pgrid > figure[hidden]{display:none !important}
body.menu-open{overflow:hidden}
.entry a{color:#8A6500}
@media (max-width:960px){.spm-foot p,.spm-en{font-size:12px}}
.pgrid figure span[style*="font-size: 11px"]{font-size:12px !important}
