@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}
.idx a{text-decoration:none;color:#252525;transition:background .2s}
.idx a:hover{background:#FFF1B8}
.spec{display:grid;grid-template-columns:96px minmax(0,1fr);gap:12px;padding:12px 0;border-bottom:1px solid #D5DADE}
.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)}
.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}
.node{flex:none;width:10px;height:10px;border-radius:50%;background:#FFDE5F;animation:pulse 2.2s ease-out infinite}
@keyframes flow{from{transform:translateX(-100%)}to{transform:translateX(560%)}}
@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)}}
@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}}

/*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*/

/* 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)}

/* ===== 対応エリアページ ===== */
.ar-hero{position:relative;min-height:380px;display:flex;align-items:center;color:#FFFFFF;overflow:hidden;background:#2F2E2E}
.ar-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ar-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,20,20,.74) 0%,rgba(20,20,20,.25) 75%)}
.ar-hero-in{position:relative;display:flex;flex-direction:column;gap:12px}
.ar-hero-en{font-size:clamp(44px,6vw,80px);font-weight:300;line-height:1}
.ar-hero-h1{font-size:clamp(20px,2.2vw,26px);font-weight:700;letter-spacing:.12em}
.ar-crumb{font-size:12px;color:#BDBDBD;display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.ar-crumb a{color:#DADADA}
.ar-sec{padding-top:104px;padding-bottom:104px}
.ar-tight{padding-top:56px;padding-bottom:56px}
.ar-gray{background:#F7F8F9}
.ar-narrow{max-width:900px}
.ar-label{display:inline-flex;align-items:center;gap:10px;font-size:12px;letter-spacing:.24em;color:#8A6500}
.ar-h2{font-size:clamp(24px,2.8vw,34px);font-weight:700;line-height:1.6;letter-spacing:.04em}
.ar-h3{font-size:18px;font-weight:700;letter-spacing:.06em}
.ar-en{font-size:13px;font-weight:500;letter-spacing:.3em;color:#8A6500}
.ar-head{display:flex;flex-direction:column;gap:10px;margin-bottom:44px}
.ar-head-row{flex-direction:row;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}
.ar-head-row > div{display:flex;flex-direction:column;gap:10px}
.ar-intro{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:56px;align-items:start}
.ar-intro-head{display:flex;flex-direction:column;gap:18px}
.ar-intro-body{display:flex;flex-direction:column;gap:20px;font-size:16px;line-height:2.05}
.ar-chips{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.ar-chips li{padding:8px 16px;border:1px solid #DBDBDB;border-radius:999px;font-size:14px;line-height:1.5;background:#FFFFFF}
.ar-chips li.on{background:#FFDE5F;border-color:#FFDE5F;font-weight:700}
.ar-svc{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:20px}
.ar-svc a{height:100%;display:flex;flex-direction:column;gap:12px;padding:30px 28px;background:#FFFFFF;border-radius:14px;text-decoration:none;color:#252525}
.ar-svc-no{display:flex;align-items:center;gap:12px;font-size:13px;color:#605E5E}
.ar-svc-no .en:first-child{font-size:22px;font-weight:500;color:#8A6500}
.ar-svc-en{font-size:11px;letter-spacing:.16em;color:#605E5E}
.ar-svc h3{font-size:19px;font-weight:700;letter-spacing:.04em}
.ar-svc p{font-size:14px;line-height:1.95;color:#3A3838;flex:1}
.ar-more{font-size:13px;font-weight:700}
.ar-facts{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));border-top:1px solid #252525}
.ar-facts li{display:flex;flex-direction:column;gap:12px;padding:30px 28px 34px 0;border-bottom:1px solid #D5DADE}
.ar-facts h3{display:flex;align-items:center;gap:12px;font-size:19px;font-weight:700}
.ar-facts p{font-size:14px;line-height:1.95;color:#3A3838}
.ar-works{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.ar-works figure{margin:0;display:flex;flex-direction:column;gap:10px}
.ar-works img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:10px;display:block}
.ar-works figcaption{font-size:13px;font-weight:700;line-height:1.6}
.ar-note{margin-top:18px;font-size:12px;color:#605E5E}
.ar-faq{display:flex;flex-direction:column;border-top:1px solid #252525}
.ar-faq details{border-bottom:1px solid #D5DADE}
.ar-faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:16px;min-height:72px;padding:14px 44px 14px 0;font-size:16px;font-weight:700;line-height:1.7;position:relative}
.ar-faq summary::-webkit-details-marker{display:none}
.ar-faq summary .en{flex:none;width:34px;height:34px;border-radius:50%;background:#FFDE5F;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:500}
.ar-faq summary::after{content:"";position:absolute;right:8px;top:50%;width:10px;height:10px;border-right:2px solid #252525;border-bottom:2px solid #252525;transform:translateY(-70%) rotate(45deg);transition:transform .25s}
.ar-faq details[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.ar-faq summary:focus-visible{outline:3px solid #252525;outline-offset:2px}
.ar-faq details p{padding:0 0 26px 50px;font-size:15px;line-height:2;color:#3A3838}
.ar-others{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.ar-others a{display:inline-flex;align-items:center;min-height:48px;padding:0 22px;border:1px solid #252525;border-radius:999px;background:#FFFFFF;color:#252525;text-decoration:none;font-size:14px;font-weight:700}
.ar-others a:hover{background:#252525;color:#FFFFFF}
.ar-areas{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.ar-areas a{height:100%;display:flex;flex-direction:column;background:#FFFFFF;border-radius:14px;overflow:hidden;text-decoration:none;color:#252525}
.ar-areas img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;display:block}
.ar-areas-body{display:flex;flex-direction:column;gap:8px;padding:24px 24px 28px}
.ar-areas-t{font-size:20px;font-weight:700}
.ar-areas-d{font-size:13px;color:#605E5E}
.ar-also{margin-top:48px;display:flex;flex-direction:column;gap:14px}
.card{transition:transform .25s,box-shadow .25s}
.card:hover{transform:translateY(-4px);box-shadow:0 14px 32px rgba(37,37,37,.08)}
@media (max-width:960px){
  .ar-intro{grid-template-columns:1fr;gap:28px}
  .ar-works{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ar-areas{grid-template-columns:1fr}
  .ar-sec{padding-top:80px;padding-bottom:80px}
}
@media (max-width:720px){
  .ar-hero{min-height:300px}
  .ar-sec{padding-top:64px;padding-bottom:64px}
  .ar-tight{padding-top:44px;padding-bottom:44px}
  .ar-intro-body{font-size:15px}
  .ar-svc a{padding:24px 22px}
  .ar-facts li{padding-right:0}
  .ar-works{gap:12px}
  .ar-faq summary{font-size:15px}
  .ar-faq details p{padding-left:0}
  .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}
  .ctah2{font-size:20px !important}
}
@media (prefers-reduced-motion:reduce){.card,.card:hover{transition:none;transform:none}}

/* ===== トップ：対応エリア ===== */
.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}}

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