@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{margin:0}
a{color:#252525}a:hover{color:#8A6500}
.en{font-family:'Jost',"Avenir Next",sans-serif;letter-spacing:.02em}
.wrap{width:100%;max-width:1160px;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)}
.phd{background-color:#2F2E2E;background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.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}
.btn:hover{transform:translateY(-1px)}
.card{transition:transform .25s,box-shadow .25s}
.card:hover{transform:translateY(-4px);box-shadow:0 14px 32px rgba(37,37,37,.08)}
.svc a{text-decoration:none;color:#252525;transition:background .2s,padding-left .25s}
.svc a:hover{background:#FFFFFF;padding-left:18px !important;color:#252525}
.svc a:hover .arw{transform:translateX(4px);color:#8A6500}
.arw{transition:transform .25s}
.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}
.vwire{position:relative;width:2px;background:rgba(255,222,95,.4);overflow:hidden}
.vwire::after{content:"";position:absolute;left:0;top:0;width:100%;height:30%;background:linear-gradient(180deg,transparent,#FFDE5F,#FFFFFF,#FFDE5F,transparent);animation:vflow 2.4s linear infinite}
.node{flex:none;width:10px;height:10px;border-radius:50%;background:#FFDE5F;animation:pulse 2.2s ease-out infinite}
.lit{animation:lit 3.6s ease-in-out infinite}
.lit2{animation-delay:1.2s}.lit3{animation-delay:2.4s}
@keyframes flow{from{transform:translateX(-100%)}to{transform:translateX(560%)}}
@keyframes vflow{from{transform:translateY(-100%)}to{transform:translateY(400%)}}
@keyframes sweep{to{left:130%}}
@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 lit{0%,100%{background:#5C5A58;box-shadow:none}15%,45%{background:#FFDE5F;box-shadow:0 0 0 6px rgba(255,222,95,.25),0 0 24px 6px rgba(255,222,95,.55)}}
.qbtn{cursor:pointer;font-family:inherit;text-align:left;transition:transform .2s,box-shadow .2s,border-color .2s}
.qbtn:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(37,37,37,.10)}
.qbtn:focus-visible{outline:3px solid #F7B500;outline-offset:2px}
.qpanel{animation:qin .35s ease-out}
.plus{transition:transform .25s}
@keyframes qin{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.beam{animation:beam 3.2s linear infinite}
.tnode{animation:tnode 3.2s ease-in-out infinite}
.tn2{animation-delay:1.05s}.tn3{animation-delay:2.1s}
.glow-word{background:linear-gradient(transparent 62%, #FFDE5F 62%);animation:glowword 3.2s ease-in-out infinite}
.sun-glow{animation:sunglow 6s ease-in-out infinite}
@keyframes beam{from{left:-30%}to{left:100%}}
@keyframes tnode{0%,100%{box-shadow:0 0 0 0 rgba(247,181,0,0)}20%,40%{box-shadow:0 0 0 10px rgba(247,181,0,.18),0 0 32px 8px rgba(255,222,95,.6)}}
@keyframes glowword{0%,100%{text-shadow:none}50%{text-shadow:0 0 18px rgba(247,181,0,.55)}}
@keyframes sunglow{0%,100%{transform:scale(1);opacity:.85}50%{transform:scale(1.08);opacity:1}}
@media (min-width:721px){.hide-pc{display:none}}
@supports (animation-timeline: view()){.rv{animation:rv linear both;animation-timeline:view();animation-range:entry 0% cover 28%}}
@keyframes rv{from{opacity:0;transform:translateY(36px)}to{opacity:1;transform:none}}

/* ===== STORY infographic ===== */
@property --n{syntax:'<integer>';inherits:false;initial-value:0}
.story{position:relative;display:flex;flex-direction:column;gap:40px}
.st-list{list-style:none;margin:0;padding:0;position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.st-item{display:grid;align-content:start;grid-template-areas:"icon" "node" "text";justify-items:center;row-gap:18px;text-align:center}
.st-icon{grid-area:icon;width:100%;max-width:160px;height:140px;overflow:visible}
.st-icon .lamp{fill:#FFDE5F}.st-icon .cone{opacity:.45}
.st-node{grid-area:node;position:relative;z-index:1;width:22px;height:22px;border-radius:50%;background:#F7B500;border:4px solid #FFFFFF;box-shadow:0 0 0 2px #F7B500,0 0 18px 4px rgba(247,181,0,.55)}
.st-text{grid-area:text;display:flex;flex-direction:column;align-items:center;gap:8px}
.st-lab{font-size:12px;font-weight:500;letter-spacing:.24em;color:#8A6500}
.big{display:flex;align-items:baseline;gap:4px;font-size:44px;font-weight:500;line-height:1.1;color:#252525}
.big.jp{font-size:28px;font-weight:700;line-height:1.6;letter-spacing:.06em}
.big .unit{font-size:15px;font-weight:700}
.st-cap{font-size:13px;line-height:1.85;color:#4A4848}
.cnt{counter-reset:n var(--n)}.cnt::after{content:counter(n)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.st-wire{position:absolute;left:10%;right:10%;top:167px;height:4px;border-radius:2px;background:#F3E3A0;overflow:hidden}
.st-fill{position:absolute;inset:0;background:#F7B500;transform-origin:left center}
.st-flow{position:absolute;top:0;bottom:0;left:0;width:18%;background:linear-gradient(90deg,transparent,#FFFFFF,transparent)}
.st-foot{text-align:center;font-size:15px;font-weight:700;letter-spacing:.06em;display:flex;flex-wrap:wrap;justify-content:center;gap:4px 16px}
.st-foot .en{font-weight:300;color:#8A6500}
.rays{transform-origin:34px 24px}
.st-fill{animation:stfill 14s linear infinite}
.st-flow{animation:stflow 1.6s linear infinite,stflowv 14s linear infinite}
.rays{animation:rays 2.4s ease-in-out infinite}
@keyframes stfill{0%,2%{transform:scaleX(0)}60%,90%{transform:scaleX(1)}96%,100%{transform:scaleX(0);opacity:0}}
@keyframes stflow{from{left:-18%}to{left:100%}}
@keyframes stflowv{0%,60%{opacity:0}63%,90%{opacity:1}94%,100%{opacity:0}}
@keyframes rays{0%,100%{transform:scale(.9);opacity:.5}50%{transform:scale(1.12);opacity:1}}
.s0 .st-icon,.s0 .st-text{animation:on0 14s ease-out infinite}
.s0 .st-node{animation:nd0 14s ease-out infinite}
.s0 .lamp{animation:lp0 14s ease-out infinite}
.s0 .cone,.s0 .wave{animation:cn0 14s ease-out infinite}
@keyframes on0{0%,7.8%{opacity:.28;filter:grayscale(1);transform:translateY(8px)}10.8%,90%{opacity:1;filter:none;transform:none}96%,100%{opacity:.28;filter:grayscale(1);transform:translateY(8px)}}
@keyframes nd0{0%,7.8%{background:#EDF0F2;box-shadow:0 0 0 2px #D9DDE0;transform:scale(.8)}9.3%{transform:scale(1.35);box-shadow:0 0 0 2px #F7B500,0 0 30px 10px rgba(247,181,0,.7)}10.8%,90%{background:#F7B500;box-shadow:0 0 0 2px #F7B500,0 0 18px 4px rgba(247,181,0,.55);transform:none}96%,100%{background:#EDF0F2;box-shadow:0 0 0 2px #D9DDE0;transform:scale(.8)}}
@keyframes lp0{0%,10.8%{fill:#FFFFFF}12.8%,90%{fill:#FFDE5F}96%,100%{fill:#FFFFFF}}
@keyframes cn0{0%,10.8%{opacity:0}12.8%,90%{opacity:.45}96%,100%{opacity:0}}
.s1 .st-icon,.s1 .st-text{animation:on1 14s ease-out infinite}
.s1 .st-node{animation:nd1 14s ease-out infinite}
.s1 .lamp{animation:lp1 14s ease-out infinite}
.s1 .cone,.s1 .wave{animation:cn1 14s ease-out infinite}
@keyframes on1{0%,19.4%{opacity:.28;filter:grayscale(1);transform:translateY(8px)}22.4%,90%{opacity:1;filter:none;transform:none}96%,100%{opacity:.28;filter:grayscale(1);transform:translateY(8px)}}
@keyframes nd1{0%,19.4%{background:#EDF0F2;box-shadow:0 0 0 2px #D9DDE0;transform:scale(.8)}20.9%{transform:scale(1.35);box-shadow:0 0 0 2px #F7B500,0 0 30px 10px rgba(247,181,0,.7)}22.4%,90%{background:#F7B500;box-shadow:0 0 0 2px #F7B500,0 0 18px 4px rgba(247,181,0,.55);transform:none}96%,100%{background:#EDF0F2;box-shadow:0 0 0 2px #D9DDE0;transform:scale(.8)}}
@keyframes lp1{0%,22.4%{fill:#FFFFFF}24.4%,90%{fill:#FFDE5F}96%,100%{fill:#FFFFFF}}
@keyframes cn1{0%,22.4%{opacity:0}24.4%,90%{opacity:.45}96%,100%{opacity:0}}
.s2 .st-icon,.s2 .st-text{animation:on2 14s ease-out infinite}
.s2 .st-node{animation:nd2 14s ease-out infinite}
.s2 .lamp{animation:lp2 14s ease-out infinite}
.s2 .cone,.s2 .wave{animation:cn2 14s ease-out infinite}
@keyframes on2{0%,31.0%{opacity:.28;filter:grayscale(1);transform:translateY(8px)}34.0%,90%{opacity:1;filter:none;transform:none}96%,100%{opacity:.28;filter:grayscale(1);transform:translateY(8px)}}
@keyframes nd2{0%,31.0%{background:#EDF0F2;box-shadow:0 0 0 2px #D9DDE0;transform:scale(.8)}32.5%{transform:scale(1.35);box-shadow:0 0 0 2px #F7B500,0 0 30px 10px rgba(247,181,0,.7)}34.0%,90%{background:#F7B500;box-shadow:0 0 0 2px #F7B500,0 0 18px 4px rgba(247,181,0,.55);transform:none}96%,100%{background:#EDF0F2;box-shadow:0 0 0 2px #D9DDE0;transform:scale(.8)}}
@keyframes lp2{0%,34.0%{fill:#FFFFFF}36.0%,90%{fill:#FFDE5F}96%,100%{fill:#FFFFFF}}
@keyframes cn2{0%,34.0%{opacity:0}36.0%,90%{opacity:.45}96%,100%{opacity:0}}
.s3 .st-icon,.s3 .st-text{animation:on3 14s ease-out infinite}
.s3 .st-node{animation:nd3 14s ease-out infinite}
.s3 .lamp{animation:lp3 14s ease-out infinite}
.s3 .cone,.s3 .wave{animation:cn3 14s ease-out infinite}
@keyframes on3{0%,42.6%{opacity:.28;filter:grayscale(1);transform:translateY(8px)}45.6%,90%{opacity:1;filter:none;transform:none}96%,100%{opacity:.28;filter:grayscale(1);transform:translateY(8px)}}
@keyframes nd3{0%,42.6%{background:#EDF0F2;box-shadow:0 0 0 2px #D9DDE0;transform:scale(.8)}44.1%{transform:scale(1.35);box-shadow:0 0 0 2px #F7B500,0 0 30px 10px rgba(247,181,0,.7)}45.6%,90%{background:#F7B500;box-shadow:0 0 0 2px #F7B500,0 0 18px 4px rgba(247,181,0,.55);transform:none}96%,100%{background:#EDF0F2;box-shadow:0 0 0 2px #D9DDE0;transform:scale(.8)}}
@keyframes lp3{0%,45.6%{fill:#FFFFFF}47.6%,90%{fill:#FFDE5F}96%,100%{fill:#FFFFFF}}
@keyframes cn3{0%,45.6%{opacity:0}47.6%,90%{opacity:.45}96%,100%{opacity:0}}
.s4 .st-icon,.s4 .st-text{animation:on4 14s ease-out infinite}
.s4 .st-node{animation:nd4 14s ease-out infinite}
.s4 .lamp{animation:lp4 14s ease-out infinite}
.s4 .cone,.s4 .wave{animation:cn4 14s ease-out infinite}
@keyframes on4{0%,54.2%{opacity:.28;filter:grayscale(1);transform:translateY(8px)}57.2%,90%{opacity:1;filter:none;transform:none}96%,100%{opacity:.28;filter:grayscale(1);transform:translateY(8px)}}
@keyframes nd4{0%,54.2%{background:#EDF0F2;box-shadow:0 0 0 2px #D9DDE0;transform:scale(.8)}55.7%{transform:scale(1.35);box-shadow:0 0 0 2px #F7B500,0 0 30px 10px rgba(247,181,0,.7)}57.2%,90%{background:#F7B500;box-shadow:0 0 0 2px #F7B500,0 0 18px 4px rgba(247,181,0,.55);transform:none}96%,100%{background:#EDF0F2;box-shadow:0 0 0 2px #D9DDE0;transform:scale(.8)}}
@keyframes lp4{0%,57.2%{fill:#FFFFFF}59.2%,90%{fill:#FFDE5F}96%,100%{fill:#FFFFFF}}
@keyframes cn4{0%,57.2%{opacity:0}59.2%,90%{opacity:.45}96%,100%{opacity:0}}
.c1{animation:ct1 14s ease-out infinite}.c2{animation:ct2 14s ease-out infinite}
@keyframes ct1{0%,31.0%{--n:0}43.0%,100%{--n:100}}
@keyframes ct2{0%,42.6%{--n:0}54.6%,100%{--n:32}}
@media (max-width:960px){
.st-list{grid-template-columns:1fr;gap:28px;padding-left:4px}
.st-item{grid-template-areas:"node icon text";grid-template-columns:22px 92px 1fr;column-gap:14px;justify-items:start;align-items:center;text-align:left}
.st-icon{height:82px}
.st-text{align-items:flex-start;gap:4px}
.big{font-size:34px}.big.jp{font-size:22px}
.st-wire{left:13px;right:auto;top:30px;bottom:30px;width:4px;height:auto}
.st-fill{transform-origin:center top}
.st-flow{left:0;right:0;width:auto;height:18%;background:linear-gradient(180deg,transparent,#FFFFFF,transparent);animation:stflowy 1.6s linear infinite,stflowv 14s linear infinite}
@keyframes stfill{0%,2%{transform:scaleY(0)}60%,90%{transform:scaleY(1)}96%,100%{transform:scaleY(0);opacity:0}}
@keyframes stflowy{from{top:-18%}to{top:100%}}
}

/* ===== slogan messages (no cards) ===== */
.msgs{display:flex;flex-direction:column;gap:72px;margin-top:8px}
.mline{position:relative;display:flex;align-items:center;height:14px;margin-bottom:36px}
.mdot{flex:none;width:14px;height:14px;border-radius:50%;background:#F7B500;box-shadow:0 0 0 5px rgba(255,222,95,.45)}
.mwire{position:relative;flex:1;height:2px;background:#252525;overflow:hidden}
.m1 .mline{margin-right:calc(50% - 50vw)}
.m1 .mwire{background:linear-gradient(90deg,#252525 0%,#252525 55%,rgba(37,37,37,0) 100%)}
.mspark{position:absolute;top:-1px;height:4px;width:120px;left:-120px;background:linear-gradient(90deg,transparent,#FFDE5F,#F7B500,transparent);border-radius:2px}
.mjoint{flex:none;width:34px;height:20px;border:2px solid #252525;border-radius:4px;background:#FFDE5F;position:relative}
.mjoint::before,.mjoint::after{content:"";position:absolute;top:50%;width:6px;height:2px;background:#252525}
.mjoint::before{left:6px}.mjoint::after{right:6px}
.mbody{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:20px 64px;align-items:end}
.mhead{display:flex;flex-direction:column;gap:18px}
.mlab{font-size:12px;font-weight:500;letter-spacing:.24em;color:#8A6500}
.mbody h3{font-size:clamp(22px,2.7vw,34px);font-weight:700;line-height:1.5;letter-spacing:.04em}
.mbody p{font-size:15px;line-height:2.1;color:#3A3838;padding-bottom:8px}
.m2 .mbody{grid-template-columns:minmax(0,5fr) minmax(0,6fr)}
.m2 .mhead{order:2}.m2 .mbody p{order:1}
.mspark{animation:mspark 2.8s linear infinite}
.mspark.r{animation:msparkr 2.2s ease-in infinite}
.mspark.lft{left:auto;right:-120px;animation:msparkl 2.2s ease-in infinite}
.mjoint{animation:mjoint 2.2s ease-in infinite}
@keyframes mspark{from{left:-120px}to{left:100%}}
@keyframes msparkr{0%{left:-120px}100%{left:100%}}
@keyframes msparkl{0%{right:-120px}100%{right:100%}}
@keyframes mjoint{0%,82%{box-shadow:0 0 0 0 rgba(247,181,0,0)}92%{box-shadow:0 0 0 8px rgba(247,181,0,.35),0 0 24px 6px rgba(255,222,95,.8)}100%{box-shadow:0 0 0 0 rgba(247,181,0,0)}}
@media (max-width:960px){
.msgs{gap:56px}
.mline{margin-bottom:24px}
.mbody,.m2 .mbody{grid-template-columns:1fr}
.m2 .mhead{order:0}.m2 .mbody p{order:1}
}
/*Q2-START*/
.qroot{--fg:#252525;--sub:#605E5E;--line:#DADDE0;--rowon:#FFFBEA;--panel:#FFFFFF;--track:#E3E6E8;color:var(--fg)}
.qroot.qd{--fg:#FFFFFF;--sub:#A9A6A6;--line:#3D3B3B;--rowon:#2F2E2E;--panel:#1B1A1A;--track:#3D3B3B}
.qgrid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:48px;align-items:start}
.qcols{display:grid;grid-template-columns:40px minmax(0,1fr) 100px 64px 38px;gap:16px;align-items:center}
.qhead{padding:0 16px 12px;font-family:'Jost',sans-serif;font-size:11px;font-weight:500;letter-spacing:.2em;color:var(--sub);border-bottom:2px solid var(--fg)}
.qhead span:nth-child(4){text-align:right}
.qlist{list-style:none;margin:0;padding:0}
.qrow{appearance:none;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;width:100%;padding:20px 16px;border-bottom:1px solid var(--line);position:relative;transition:background .25s}
.qrow::before{content:"";position:absolute;left:0;top:-1px;bottom:-1px;width:0;background:#F7B500;transition:width .3s}
.qrow:hover,.qrow.on{background:var(--rowon)}
.qrow.on::before{width:4px}
.qrow:focus-visible{outline:3px solid #F7B500;outline-offset:-3px}
.qno{font-family:'Jost',sans-serif;font-size:13px;font-weight:500;color:var(--sub);letter-spacing:.1em}
.qrow.on .qno{color:#8A6500}
.qname{display:flex;flex-direction:column;gap:3px;font-size:15px;font-weight:700;line-height:1.5}
.qkind{font-size:11px;font-weight:400;color:var(--sub)}
.qbar{position:relative;display:block;height:8px;width:96px;background:repeating-linear-gradient(90deg,var(--track) 0 9px,transparent 9px 12px)}
.qbar i{position:absolute;left:0;top:0;bottom:0;background:repeating-linear-gradient(90deg,#F7B500 0 9px,transparent 9px 12px)}
.qcnt{display:flex;align-items:baseline;gap:2px;justify-content:flex-end;font-size:12px;font-weight:700}
.qcnt .en{font-size:30px;font-weight:500;line-height:1;font-family:'Jost',sans-serif}
.qsw{justify-self:end;width:36px;height:20px;border-radius:999px;background:var(--track);position:relative;transition:background .25s,box-shadow .25s}
.qsw::after{content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:#FFFFFF;box-shadow:0 1px 3px rgba(0,0,0,.3);transition:transform .25s}
.qrow.on .qsw{background:#F7B500;box-shadow:0 0 14px rgba(255,222,95,.8)}
.qrow.on .qsw::after{transform:translateX(16px)}
.qpanel2{position:sticky;top:24px;background:var(--panel);border:1px solid var(--line);padding:30px 32px 26px;display:flex;flex-direction:column;gap:20px}
.qpanel2::before{content:"";position:absolute;left:-1px;right:-1px;top:-1px;height:4px;background:linear-gradient(90deg,#F7B500,#FFDE5F)}
.qptop{display:flex;justify-content:space-between;align-items:center;font-family:'Jost',sans-serif;font-size:11px;font-weight:500;letter-spacing:.2em;color:var(--sub);padding-bottom:16px;border-bottom:1px dashed var(--line)}
.qptop b{display:flex;align-items:center;gap:8px;font-weight:500}
.qlamp{width:9px;height:9px;border-radius:50%;background:#FFDE5F;box-shadow:0 0 0 0 rgba(255,222,95,.8);animation:qlamp 2s ease-out infinite}
.qpname{font-size:clamp(20px,2vw,26px);font-weight:700;line-height:1.45;margin:0}
.qpkind{font-size:12px;color:var(--sub)}
.qppl{position:relative;height:28px;width:176px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 28'%3E%3Ccircle cx='11' cy='7' r='5' fill='%23B9BDC1'/%3E%3Cpath d='M3 27v-5a8 8 0 0 1 16 0v5z' fill='%23B9BDC1'/%3E%3C/svg%3E") left center/22px 28px repeat-x;opacity:.6}
.qroot .qppl{opacity:1}
.qppl i{position:absolute;left:0;top:0;bottom:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 28'%3E%3Ccircle cx='11' cy='7' r='5' fill='%23F7B500'/%3E%3Cpath d='M3 27v-5a8 8 0 0 1 16 0v5z' fill='%23F7B500'/%3E%3C/svg%3E") left center/22px 28px repeat-x}
.qpplrow{display:flex;align-items:center;gap:14px;font-size:13px;font-weight:700}
.qpplrow .en{font-size:22px;font-family:'Jost',sans-serif;font-weight:500}
.qdesc{font-size:14.5px;line-height:2;margin:0}
.qpoint{font-size:14.5px;line-height:1.9;font-weight:700;margin:0;padding:14px 16px;background:rgba(255,222,95,.18);border-left:3px solid #F7B500}
.qnav{display:flex;justify-content:space-between;gap:12px;padding-top:4px}
.qnav button{appearance:none;background:transparent;border:1px solid var(--line);color:inherit;font:inherit;font-size:12px;font-weight:700;padding:9px 14px;border-radius:999px;cursor:pointer;transition:border-color .2s,background .2s}
.qnav button:hover{border-color:#F7B500;background:rgba(255,222,95,.15)}
.qnav button:focus-visible{outline:3px solid #F7B500;outline-offset:2px}
.qswap{animation:qswap .4s ease-out}
.qinline{display:none}
@keyframes qlamp{0%{box-shadow:0 0 0 0 rgba(255,222,95,.8)}70%{box-shadow:0 0 0 9px rgba(255,222,95,0)}100%{box-shadow:0 0 0 0 rgba(255,222,95,0)}}
@keyframes qswap{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media (max-width:960px){
.qgrid{grid-template-columns:1fr}
.qpanel2{display:none}
.qinline{display:flex;flex-direction:column;gap:12px;padding:18px 16px 22px;border-bottom:1px solid var(--line);background:var(--rowon)}
}
@media (max-width:720px){
.qcols{grid-template-columns:28px minmax(0,1fr) 50px 38px;gap:10px}
.qbar,.qhead .hbar{display:none}
.qrow{padding:18px 8px}.qhead{padding:0 8px 10px}
.qinline{padding:18px 8px 22px}
}
@media (prefers-reduced-motion:reduce){.qlamp,.qswap{animation:none !important}}
/*Q2-END*/
@media (prefers-reduced-motion:reduce){*,*::after{animation:none !important;transition:none !important}}
@media (max-width:720px){.wrap{padding-left:20px;padding-right:20px}.hide-sp{display:none !important}}

/* ===== 会社資料ボタン：電気がつく ===== */
.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}}


/*MRSP-START*/
@media (max-width:960px){
.hero{min-height:600px !important}
.trust{grid-template-columns:1fr 1fr !important}
.trust li{border-right:1px solid #EDF0F2 !important;border-bottom:1px solid #EDF0F2}
.trust li:nth-child(2n){border-right:0 !important}
.trust li:nth-last-child(-n+2){border-bottom:0}
.st-list{max-width:560px;margin-left:auto !important;margin-right:auto !important}
}
@media (max-width:720px){
.hero{min-height:540px !important;align-items:flex-end !important;padding-bottom:110px}
.hero h1{font-size:27px !important;line-height:1.55 !important}
.hero p.en{font-size:18px !important}
.trust li{padding:18px 16px !important}
.trust li > span:last-child{font-size:15px !important}
.mcard{flex-direction:column !important;align-items:stretch !important;padding:20px !important;gap:16px !important}
.mcard img{flex:none !important;width:100% !important;aspect-ratio:16/10 !important}
.scrollcue{display:none !important}
.trust li > span:last-child > span{display:block;margin:2px 0 0 !important}
.ctah2{font-size:20px !important}
.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}
.telpill > span:nth-child(2){font-size:13px !important}
}
/*MRSP-END*/
/*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}
.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*/


body{margin:0}
/*Q2-START*/
.qroot{--fg:#252525;--sub:#605E5E;--line:#DADDE0;--rowon:#FFFBEA;--panel:#FFFFFF;--track:#E3E6E8;color:var(--fg)}
.qroot.qd{--fg:#FFFFFF;--sub:#A9A6A6;--line:#3D3B3B;--rowon:#2F2E2E;--panel:#1B1A1A;--track:#3D3B3B}
.qgrid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:48px;align-items:start}
.qcols{display:grid;grid-template-columns:40px minmax(0,1fr) 100px 64px 38px;gap:16px;align-items:center}
.qhead{padding:0 16px 12px;font-family:'Jost',sans-serif;font-size:11px;font-weight:500;letter-spacing:.2em;color:var(--sub);border-bottom:2px solid var(--fg)}
.qhead span:nth-child(4){text-align:right}
.qlist{list-style:none;margin:0;padding:0}
.qrow{appearance:none;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;width:100%;padding:20px 16px;border-bottom:1px solid var(--line);position:relative;transition:background .25s}
.qrow::before{content:"";position:absolute;left:0;top:-1px;bottom:-1px;width:0;background:#F7B500;transition:width .3s}
.qrow:hover,.qrow.on{background:var(--rowon)}
.qrow.on::before{width:4px}
.qrow:focus-visible{outline:3px solid #F7B500;outline-offset:-3px}
.qno{font-family:'Jost',sans-serif;font-size:13px;font-weight:500;color:var(--sub);letter-spacing:.1em}
.qrow.on .qno{color:#8A6500}
.qname{display:flex;flex-direction:column;gap:3px;font-size:15px;font-weight:700;line-height:1.5}
.qkind{font-size:11px;font-weight:400;color:var(--sub)}
.qbar{position:relative;display:block;height:8px;width:96px;background:repeating-linear-gradient(90deg,var(--track) 0 9px,transparent 9px 12px)}
.qbar i{position:absolute;left:0;top:0;bottom:0;background:repeating-linear-gradient(90deg,#F7B500 0 9px,transparent 9px 12px)}
.qcnt{display:flex;align-items:baseline;gap:2px;justify-content:flex-end;font-size:12px;font-weight:700}
.qcnt .en{font-size:30px;font-weight:500;line-height:1;font-family:'Jost',sans-serif}
.qsw{justify-self:end;width:36px;height:20px;border-radius:999px;background:var(--track);position:relative;transition:background .25s,box-shadow .25s}
.qsw::after{content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:#FFFFFF;box-shadow:0 1px 3px rgba(0,0,0,.3);transition:transform .25s}
.qrow.on .qsw{background:#F7B500;box-shadow:0 0 14px rgba(255,222,95,.8)}
.qrow.on .qsw::after{transform:translateX(16px)}
.qpanel2{position:sticky;top:24px;background:var(--panel);border:1px solid var(--line);padding:30px 32px 26px;display:flex;flex-direction:column;gap:20px}
.qpanel2::before{content:"";position:absolute;left:-1px;right:-1px;top:-1px;height:4px;background:linear-gradient(90deg,#F7B500,#FFDE5F)}
.qptop{display:flex;justify-content:space-between;align-items:center;font-family:'Jost',sans-serif;font-size:11px;font-weight:500;letter-spacing:.2em;color:var(--sub);padding-bottom:16px;border-bottom:1px dashed var(--line)}
.qptop b{display:flex;align-items:center;gap:8px;font-weight:500}
.qlamp{width:9px;height:9px;border-radius:50%;background:#FFDE5F;box-shadow:0 0 0 0 rgba(255,222,95,.8);animation:qlamp 2s ease-out 4}
.qpname{font-size:clamp(20px,2vw,26px);font-weight:700;line-height:1.45;margin:0}
.qpkind{font-size:12px;color:var(--sub)}
.qppl{position:relative;height:28px;width:176px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 28'%3E%3Ccircle cx='11' cy='7' r='5' fill='%23B9BDC1'/%3E%3Cpath d='M3 27v-5a8 8 0 0 1 16 0v5z' fill='%23B9BDC1'/%3E%3C/svg%3E") left center/22px 28px repeat-x;opacity:.6}
.qroot .qppl{opacity:1}
.qppl i{position:absolute;left:0;top:0;bottom:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 28'%3E%3Ccircle cx='11' cy='7' r='5' fill='%23F7B500'/%3E%3Cpath d='M3 27v-5a8 8 0 0 1 16 0v5z' fill='%23F7B500'/%3E%3C/svg%3E") left center/22px 28px repeat-x}
.qpplrow{display:flex;align-items:center;gap:14px;font-size:13px;font-weight:700}
.qpplrow .en{font-size:22px;font-family:'Jost',sans-serif;font-weight:500}
.qdesc{font-size:14.5px;line-height:2;margin:0}
.qpoint{font-size:14.5px;line-height:1.9;font-weight:700;margin:0;padding:14px 16px;background:rgba(255,222,95,.18);border-left:3px solid #F7B500}
.qnav{display:flex;justify-content:space-between;gap:12px;padding-top:4px}
.qnav button{appearance:none;background:transparent;border:1px solid var(--line);color:inherit;font:inherit;font-size:12px;font-weight:700;padding:9px 14px;border-radius:999px;cursor:pointer;transition:border-color .2s,background .2s}
.qnav button:hover{border-color:#F7B500;background:rgba(255,222,95,.15)}
.qnav button:focus-visible{outline:3px solid #F7B500;outline-offset:2px}
.qswap{animation:qswap .4s ease-out}
.qinline{display:none}
@keyframes qlamp{0%{box-shadow:0 0 0 0 rgba(255,222,95,.8)}70%{box-shadow:0 0 0 9px rgba(255,222,95,0)}100%{box-shadow:0 0 0 0 rgba(255,222,95,0)}}
@keyframes qswap{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media (max-width:960px){
.qgrid{grid-template-columns:1fr}
.qpanel2{display:none}
.qinline{display:flex;flex-direction:column;gap:12px;padding:18px 16px 22px;border-bottom:1px solid var(--line);background:var(--rowon)}
}
@media (max-width:720px){
.qcols{grid-template-columns:28px minmax(0,1fr) 50px 38px;gap:10px}
.qbar,.qhead .hbar{display:none}
.qrow{padding:18px 8px}.qhead{padding:0 8px 10px}
.qinline{padding:18px 8px 22px}
}
@media (prefers-reduced-motion:reduce){.qlamp,.qswap{animation:none !important}}
/*Q2-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)}
/* ===== トップ：対応エリア ===== */
.fa-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.fa-grid a{position:relative;display:block;min-height:260px;border-radius:14px;overflow:hidden;color:#FFFFFF;text-decoration:none;background:#2F2E2E}
.fa-grid img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.fa-grid a::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(20,20,20,.78) 0%,rgba(20,20,20,.1) 70%)}
.fa-in{position:absolute;left:0;right:0;bottom:0;z-index:1;display:flex;flex-direction:column;gap:6px;padding:24px}
.fa-en{font-size:12px;letter-spacing:.2em;color:#FFDE5F}
.fa-t{font-size:22px;font-weight:700}
.fa-d{font-size:13px;color:#E6E6E6}
@media (max-width:960px){.fa-grid{grid-template-columns:1fr}.fa-grid a{min-height:200px}}
.hero-eyebrow .node{width:8px;height:8px}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.2s ease}.hero-video.is-on{opacity:1 !important}

.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}
