/*
Theme Name: TECHSELL Production V5
Theme URI: https://techsell.co.jp/
Author: TECHSELL
Description: 株式会社テクセル 制作会社引渡し用完成テーマ V5
Version: 5.0.0
Requires at least: 6.6
Requires PHP: 8.1
Text Domain: techsell
*/
:root{--n:#062f66;--b:#075ca8;--i:#12263d;--p:#f4f8fc;--l:#dce5ef;--w:#fff;--max:1200px;--fs:clamp(.875rem,.818rem + .2424vw,1rem)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--i);font-family:"Space Grotesk","Noto Serif JP","Hiragino Mincho ProN","Yu Mincho",serif;font-size:var(--fs);line-height:1.8}a{color:inherit;text-decoration:none;transition:opacity .3s ease}@media(hover:hover){a:hover{opacity:.8}}img{max-width:100%;height:auto}p{font-size:var(--fs);text-transform:none;letter-spacing:normal}.wrap{max-width:1440px;width:90%;margin:auto}.section{padding:clamp(60px,calc(26.57px + 8.571vw),150px) 0}.soft{background:var(--p)}.eyebrow{font-size:clamp(1rem,calc(.907rem + .381vw),1.25rem);letter-spacing:.04em;text-transform:uppercase;color:var(--b);font-weight:900}.ja-num{font-family:"Noto Serif JP","Hiragino Mincho ProN","Yu Mincho",serif}.ttl{font-size:clamp(1.8rem,3.2vw,3rem);line-height:1.35;color:var(--n);margin:.15em 0 .7em}.lead{max-width:820px}.sec-head{display:flex;align-items:end;justify-content:space-between;gap:24px 48px;margin-bottom:clamp(28px,4vw,56px)}.sec-head .ttl{margin:.1em 0 0;font-size:clamp(1.8rem,3.6vw,3.25rem);line-height:1.4}.sec-head .lead{max-width:none;margin:0;color:#55616e;font-size:clamp(.9375rem,.85rem + .35vw,1.0625rem);line-height:2.1}.header{position:sticky;top:0;z-index:99;background:rgba(255,255,255,.98)}.header .wrap.head{max-width:none;width:100%;height:80px;display:flex;align-items:stretch;justify-content:space-between;gap:20px;padding-left:clamp(16px,2.5vw,40px)}.head-contents-left,.head-contents-right{display:flex;align-items:stretch}.head-contents-left{flex:none}.logo{flex:none;align-self:center;font-size:1.4rem;font-weight:900;color:var(--n);line-height:1}.logo small{display:block;font-size:var(--fs);margin-top:6px}.logo img{display:block;height:32px;width:auto}.nav{display:flex;align-items:center;margin-right:clamp(16px,2.4vw,40px);font-size:.875rem;font-weight:700;white-space:nowrap}.nav ul{display:flex;align-items:center;list-style:none;gap:clamp(12px,1.7vw,30px);margin:0;padding:0}.nav a{display:block;padding:8px 0;border-bottom:2px solid transparent}.nav a:hover,.nav .current-menu-item>a,.nav a[aria-current=page]{color:var(--b);border-bottom-color:var(--b)}.head-tel{display:flex;align-items:center;gap:10px;padding:0 clamp(16px,1.8vw,28px);border-left:1px solid var(--l);color:var(--n);line-height:1.2;white-space:nowrap}.head-tel svg{flex:none;width:22px;height:22px}.head-tel b{display:block;font-size:1.375rem;font-weight:700;letter-spacing:.02em}.head-tel small{display:block;margin-top:4px;font-size:.6875rem;color:var(--i)}.cta-btn,.btn{display:inline-flex;padding:13px 20px;border:1px solid var(--n);font-weight:900}.cta-btn,.btn{border-radius:4px}.head .cta-btn{border-radius:0}.sp-br{display:none}.cta-btn{background:var(--n);color:#fff}.head .cta-btn{align-items:center;gap:10px;padding:0 clamp(16px,2.4vw,40px);border:0;font-weight:700;white-space:nowrap}.cta-btn svg{flex:none;width:20px;height:20px}.menu-toggle{display:none;border:0;background:transparent;width:44px;height:44px;margin-left:auto;cursor:pointer}.menu-toggle span{display:block;height:2px;background:var(--n);margin:7px 4px;transition:transform .3s,opacity .3s}.menu-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(9px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-9px) rotate(-45deg)}.nav-cta{display:none}body.menu-open{overflow:hidden}.hero{color:#fff;display:grid;align-items:center}.hero>*,.hero::before,.hero-img{grid-area:1/1}.hero>picture{display:contents}.hero-img{display:block;width:100%;height:100%;min-height:0;object-fit:cover}.hero::before{content:"";z-index:1;align-self:stretch;background:linear-gradient(90deg,rgba(1,33,70,.8) 10.13%,rgba(1,33,70,0) 59.61%)}.hero>.wrap{position:relative;z-index:2;padding:40px 0}.hero h1{font-size:clamp(2.5rem,5vw,4.8rem);line-height:1.18;margin:.2em 0}.hero-catch{margin:0;font-size:clamp(.9375rem,.7rem + .9vw,1.375rem);font-weight:500}.hero .sub{max-width:680px;margin:1.2em 0 0;font-size:clamp(.9375rem,.85rem + .4vw,1.125rem);font-weight:500;line-height:2}.hero-services{display:flex;flex-wrap:wrap;gap:16px 0;list-style:none;margin:clamp(20px,3vw,40px) 0 0;padding:0}.hero-services li{display:flex;align-items:center;gap:12px;padding:0 clamp(14px,1.8vw,26px);border-left:1px solid rgba(255,255,255,.45);line-height:1.3}.hero-services li:first-child{padding-left:0;border-left:0}.hero-services .ico{display:grid;place-items:center;flex:none;width:clamp(44px,4.4vw,60px);aspect-ratio:1;border:1px solid rgba(255,255,255,.8);border-radius:50%;background:rgba(6,47,102,.7)}.hero-services svg{width:50%;height:50%}.hero-services b{display:block;font-size:clamp(1rem,.9rem + .4vw,1.25rem)}.hero-services small{display:block;font-size:.75rem;opacity:.9}.hero{grid-template-rows:1fr auto}.hero-img,.hero::before{grid-row:1/3}.hero>.hero-cta{grid-area:2/1;position:relative;z-index:2}.hero-cta{padding:clamp(16px,2vw,24px) 0;background:linear-gradient(90deg,#052b59,#075da8);color:#fff}.hero-cta .wrap{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px 32px}.hero-cta p{margin:0;font-size:clamp(.9375rem,.85rem + .4vw,1.125rem);font-weight:700;letter-spacing:.06em}.hero-cta-right{display:flex;align-items:center;flex-wrap:wrap;gap:16px clamp(20px,3vw,48px)}.hero-cta-tel{display:flex;flex-direction:column;align-items:flex-start;line-height:1.2;white-space:nowrap}.hero-cta-num{display:flex;align-items:center;gap:12px}.hero-cta-tel svg{flex:none;width:28px;height:28px}.hero-cta-tel b{display:block;font-size:clamp(1.5rem,1.2rem + 1.2vw,2.125rem);letter-spacing:.03em}.hero-cta-tel small{display:block;margin-top:4px;padding-left:40px;font-size:.75rem}.hero-cta .btn,:is(#service,.service-cards) .card .more{align-items:center;gap:10px;padding:14px clamp(20px,2.6vw,40px);border-color:#fff}.hero-cta .btn svg{flex:none;width:20px;height:20px}.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}.chip{border:1px solid #fff;padding:8px 13px;background:rgba(0,0,0,.16);font-weight:800}.g2,.g3,.g4{display:grid;gap:20px}.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}.card{border:1px solid var(--l);background:#fff;box-shadow:0 8px 25px rgba(15,48,80,.05);overflow:hidden}.card img{width:100%;aspect-ratio:16/10;object-fit:cover}.body{padding:20px}.card h3{color:var(--n);margin:0;font-size:clamp(22px,19.273px + .7273vw,28px);line-height:1.5}.card>a{display:block;height:100%}#service .g3{gap:3rem}:is(#service,.service-cards) .card{display:grid;grid-row:span 4;grid-template-rows:subgrid;gap:0;border:0;background:#062F66;color:#fff}:is(#service,.service-cards) .card>a{display:grid;grid-row:span 4;grid-template-rows:subgrid}:is(#service,.service-cards) .card .body{display:grid;grid-row:span 3;grid-template-rows:subgrid;row-gap:16px;padding:2rem}:is(#service,.service-cards) .card h3{margin:0;color:#fff;text-align:center}:is(#service,.service-cards) .card p{margin:0}:is(#service,.service-cards) .card .more{display:inline-flex;align-items:center;justify-content:center;width:80%;justify-self:center;align-self:end;border:1px solid #fff;border-radius:4px;background:#fff;color:#062F66;font-weight:900}.dark{background:linear-gradient(100deg,#052b59,#0b548f);color:#fff}.dark .ttl{color:#fff}.flow{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.step{border:1px solid var(--l);padding:18px;background:#fff}.num{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--n);color:#fff;font-weight:900;margin-bottom:10px}.faq details{border-bottom:1px solid var(--l);padding:16px 0}.faq summary{font-weight:900;color:var(--n);cursor:pointer}.contact{padding:clamp(60px,calc(26.57px + 8.571vw),150px) 0;background:linear-gradient(90deg,#052b59,#075da8);color:#fff}.contact .ttl{color:#fff}.footer{background:#f7f9fc;padding:clamp(60px,calc(26.57px + 8.571vw),150px) 0}.fg{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:30px}.footer ul{list-style:none;padding:0;margin:.5em 0}.footer li{margin:.35em 0}.crumb{padding:12px 0;font-size:var(--fs);color:#65788c}.article h2{color:var(--n);margin-top:0}.article h3{color:var(--b);margin-top:1.6em}.page-hero{padding:clamp(60px,calc(26.57px + 8.571vw),150px) 0;background:var(--p)}.service-hero{display:grid;grid-template-columns:1.2fr 1fr;gap:34px;align-items:center}.service-hero img{width:100%;aspect-ratio:16/10;object-fit:cover}.techsell-form input,.techsell-form textarea,.techsell-form select{width:100%;padding:13px;border:1px solid var(--l);font:inherit;font-size:1rem;background:#fff}.techsell-form label{font-weight:800}.techsell-form button{border:0;cursor:pointer}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.form-msg{padding:14px 16px;background:#eef6ff;margin-bottom:20px}.pagination .nav-links{display:flex;gap:8px;justify-content:center;margin-top:35px}.pagination .page-numbers{min-width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--l);background:#fff;font-weight:800}.pagination .current,.pagination a:hover{background:var(--n);color:#fff;border-color:var(--n)}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:10px;top:10px;background:#fff;padding:10px;z-index:9999}.placeholder-note{font-size:var(--fs);color:#6a7c8e}.cta-row{display:flex;gap:12px;flex-wrap:wrap}.btn.primary{background:var(--n);color:#fff}.btn.light{background:#fff;color:var(--n)}
@media(max-width:1280px){.head-tel{display:none}}
@media(max-width:1080px){.hero-cta .wrap{flex-direction:column;text-align:center}.hero-cta-right{justify-content:center}.sp-br{display:inline}}
@media(max-width:900px){.sec-head{flex-direction:column;align-items:flex-start}.sec-head br{display:none}.header .wrap.head{padding-right:clamp(16px,2.5vw,40px)}.menu-toggle{display:block;align-self:center}.nav{display:none;position:absolute;left:0;right:0;top:100%;margin:0;white-space:normal;background:#fff;border-top:1px solid var(--l);box-shadow:0 12px 30px rgba(0,0,0,.08)}.nav{z-index:1}.head-contents-left,.menu-toggle{position:relative;z-index:2}.nav.is-open{display:block;max-height:calc(100vh - var(--nav-top,80px));max-height:calc(100dvh - var(--nav-top,80px));overflow-y:auto}.nav-cta{display:flex;flex-wrap:wrap;gap:8px;padding:10px 4% 20px}.nav.is-open>ul,.nav.is-open>.nav-cta{width:80%}.nav .nav-cta a{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:13px 20px;border:1px solid var(--n);white-space:nowrap}.nav .nav-cta .primary{color:#fff}.nav-cta svg{flex:none;width:20px;height:20px}.nav ul{display:block;padding:10px 4%}.nav li{border-bottom:1px solid var(--l)}.nav a{display:block;padding:13px 4px;border-bottom:0}.head .cta-btn{display:none}.g3,.g4{grid-template-columns:1fr 1fr}.flow{grid-template-columns:1fr 1fr}.fg{grid-template-columns:1fr 1fr}.service-hero{grid-template-columns:1fr}}
@media(max-width:760px){.nav.is-open{display:flex;flex-direction:column;height:calc(100vh - var(--nav-top,80px));height:calc(100dvh - var(--nav-top,80px));max-height:none}.nav.is-open>ul{margin-top:auto}.nav.is-open>.nav-cta{margin-bottom:auto}.wrap{width:85%}}
@media(max-width:700px){.g2,.g3,.g4,.flow,.form-grid{grid-template-columns:1fr}.hero h1{font-size:2.5rem}.hero::before{background:linear-gradient(90deg,rgba(5,28,64,.88),rgba(5,28,64,.45))}.hero .sub br{display:none}.hero{position:relative}.hero-img,.hero::before{grid-row:1/2}.hero-img{position:absolute;inset:0}.hero>.wrap{padding:32px 0}.hero-services{flex-direction:column;gap:12px}.hero-services li{padding:0;border:0}.hero-cta .wrap{flex-direction:column;text-align:center}.hero-cta-right{flex-direction:column}.hero-cta-tel{align-items:center}.hero-cta-tel small{padding-left:0;margin-top:6px;font-size:.8125rem}.hero-cta{padding:24px 0}.hero-cta .wrap{align-items:stretch;gap:14px}.hero-cta p{line-height:1.6;letter-spacing:.1em}.hero-cta-right{align-items:stretch;gap:16px}.hero-cta-tel{padding:10px 12px;border:1px solid #fff;border-radius:4px}.hero-cta-tel b{font-size:1.75rem}.hero-cta .btn{justify-content:center;padding:18px 20px}.fg{grid-template-columns:1fr}.cta-btn,.btn,:is(#service,.service-cards) .card .more{border-radius:2px}:is(#service,.service-cards) .card .body{padding:1.5rem;row-gap:1em}.sec-head .lead{line-height:1.75}.sp-br{display:inline}}
:focus-visible{outline:3px solid #f0b429;outline-offset:3px}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}

/* V6 production UX */
.service-list{margin-top:32px}.work-facts{margin:32px 0}.work-facts section{padding:22px 0;border-bottom:1px solid var(--l)}.work-facts h2{font-size:1.15rem;color:var(--n);margin:0 0 8px}.meta,.form-note{font-size:var(--fs);color:#65788c}.form-msg{padding:14px 16px;margin:0 0 22px}.form-msg.success{background:#edf8f1;border-left:4px solid #2f7d4c}.form-msg.error{background:#fff0f0;border-left:4px solid #a43a3a}.techsell-form input[type=file]{padding:10px;background:#fff}.pagination .page-numbers,.nav-links .page-numbers{display:inline-block;padding:8px 12px;margin:3px;border:1px solid var(--l);background:#fff}.pagination .current,.nav-links .current{background:var(--n);color:#fff;border-color:var(--n)}
.card{border-radius:clamp(4px,2.182px + .4848vw,8px)}.ico-h{display:flex;align-items:center;gap:.5em}.ico-h .ico{flex:none;width:1.4em;height:1.4em;color:var(--b)}
.ico-wrap{display:grid;place-items:center;flex:none}:is(#inspection,.inspection-cards) .ico-wrap{width:2.2em;aspect-ratio:1;border-radius:50%;background:#d1e0ef}:is(#inspection,.inspection-cards) .ico-h .ico{width:1.2em;height:1.2em}:is(#inspection,.inspection-cards) .card h3{font-size:clamp(22px,21.091px + .2424vw,24px)}
body.home .section:not(#service) .wrap>.ttl{text-align:center}#strength .card{position:relative;border-radius:0;padding:clamp(32px,14.171px + 4.5714vw,80px) 32px clamp(36px,18.914px + 4.381vw,82px)}@media(min-width:901px) and (max-width:1199px){#strength .card{padding-inline:20px}}#strength .card h3,#strength .card p{position:relative;z-index:1}#strength .card h3{margin:0 0 .6em;font-size:clamp(20px,17.273px + .7273vw,24px)}#strength .card p{margin:0;color:#12263d}#strength .card .num{position:absolute;top:-.1em;right:-.02em;display:block;width:auto;height:auto;margin-bottom:0;border-radius:0;background:none;color:#e6e9f0;font-size:clamp(60px,41.818px + 4.8485vw,100px);font-weight:700;line-height:1;letter-spacing:-.02em;pointer-events:none}@media(min-width:901px) and (max-width:1099px){#strength .card h3 br{display:none}}@media(min-width:901px) and (max-width:1249px){#strength .card:nth-child(1) h3 br{display:none}}@media(min-width:901px) and (max-width:1499px){#strength .card:nth-child(3) h3 br{display:none}}:is(#inspection,.inspection-cards) .card .body{display:flex;flex-direction:column;height:100%}:is(#inspection,.inspection-cards) .card .more{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;margin-top:auto;padding:14px clamp(20px,2.6vw,40px);border:1px solid #062F66;border-radius:4px;background:#062F66;color:#fff;font-weight:900}@media(max-width:700px){:is(#inspection,.inspection-cards) .card .more{border-radius:2px}}
body.home .section:not(#service) .wrap>.eyebrow,body.home .section:not(#service) .wrap>.ttl{text-align:center}body.home .section:not(#service) .wrap>.btn{display:flex;width:fit-content;margin-inline:auto}body.home .section:not(#service) .wrap>.btn.list-more{width:min(100%,300px)}
#strength{background:#0b548f url(assets/images/strenght-bg.jpg) center/cover no-repeat}
@media(max-width:700px){#strength .card{padding:1.5rem}}
.btn.list-more{align-items:center;justify-content:center;gap:10px;width:min(100%,300px);padding:14px clamp(20px,2.6vw,40px);border:0;background:#183E71;color:#fff}
.btn.list-more,.more,.contact .btn,.hero-cta .btn{position:relative}.contact .btn{align-items:center;justify-content:center;width:min(100%,300px);padding:14px clamp(20px,2.6vw,40px)}.btn.list-more::after,.more::after,.contact .btn::after,.hero-cta .btn::after{content:"";position:absolute;top:50%;right:20px;border-style:solid;border-width:5px 0 5px 8px;border-color:transparent transparent transparent currentColor;transform:translateY(-50%)}
.contact{text-align:center}@media(min-width:1281px){.head-tel{display:grid;grid-template-columns:auto auto;align-content:center;align-items:center;gap:0 10px}.head-tel>span{display:contents}.head-tel small{grid-column:2}}
.hero-cta .btn{padding-inline:48px}.contact .btn{gap:10px}.contact .btn svg{flex:none;width:20px;height:20px}.service-list .more{display:inline-block;padding-right:18px}.service-list .more::after{right:0}
.contact-btns{display:flex;flex-wrap:wrap;justify-content:center;gap:20px;margin-top:clamp(20px,3vw,32px)}.contact-btns>a{display:flex;align-items:center;justify-content:center;gap:14px;width:min(100%,320px);min-height:84px;padding:12px 24px;border:1px solid #fff;border-radius:4px;line-height:1.3}.contact-btns svg{flex:none;width:30px;height:30px}.contact-btns b,.contact-btns small{display:block}.contact-btns small{margin-top:4px;font-size:.875rem}.contact-tel{background:var(--n);color:#fff}.contact-tel span{text-align:left}.contact-tel b{font-size:clamp(1.5rem,1.3rem + .8vw,1.875rem);letter-spacing:.03em;white-space:nowrap}.contact-mail{background:#fff;color:var(--n)}.contact-mail b{font-size:clamp(1rem,.95rem + .25vw,1.125rem)}@media(max-width:700px){.contact-btns>a{border-radius:2px}}
.contact .ttl{font-size:clamp(1.5rem,1.149rem + 1.441vw,2.5rem)}.contact-btns>a{display:grid;grid-template-columns:auto auto;justify-content:center;align-content:center;align-items:center;gap:0 12px;width:min(100%,360px)}.contact-btns>a>span{display:contents}.contact-btns small{grid-column:2}.contact-mail small{text-align:center}.contact-tel b{font-size:clamp(1.75rem,1.5rem + 1vw,2.25rem)}.contact-mail b{font-size:clamp(1.125rem,1rem + .5vw,1.375rem)}
.header{box-shadow:0 2px 12px rgba(6,47,102,.1)}html.menu-open{overflow:hidden}.nav{overscroll-behavior:contain}
@media(max-width:900px){.header .wrap.head{gap:12px;padding-right:0}.menu-toggle{width:48px;margin-right:clamp(12px,3vw,20px)}.menu-toggle span{margin:7px 2px}.head .cta-btn{display:flex;justify-content:center;width:80px;padding:0}.head .cta-btn span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.head .cta-btn svg{width:44px;height:44px;padding:11px;border-radius:50%;background:rgba(0,0,0,.25)}.nav.is-open{display:flex;flex-direction:column;height:calc(100vh - var(--nav-top,80px));height:calc(100dvh - var(--nav-top,80px));max-height:none;padding:24px 8%;overflow-y:auto}.nav.is-open>ul,.nav.is-open>.nav-cta{width:100%;max-width:480px;margin-left:auto;margin-right:auto}.nav.is-open>ul{margin-top:auto}.nav.is-open>.nav-cta{margin-bottom:auto}.nav ul{padding:0}.nav a{padding:16px 4px;font-size:1rem}.nav-cta{flex-direction:column;flex-wrap:nowrap;gap:12px;padding:28px 0 0}.nav .nav-cta a{flex:none;padding:18px 20px;border-radius:4px;font-size:1rem}}
@media(max-width:700px){.contact-btns small{font-size:.75rem}}
.footer{padding-bottom:0}.fg{gap:40px clamp(24px,4vw,64px)}.footer .logo img{height:clamp(36px,30.545px + 1.4545vw,48px)}.fg p{margin:clamp(20px,2.5vw,32px) 0 0;line-height:2}.fg b{display:block;font-size:1rem}.footer ul{margin:14px 0 0;padding-left:16px;border-left:1px solid var(--l)}.footer li{margin:0;font-size:.9375rem}.footer li+li{margin-top:.9em}.copy{margin-top:clamp(40px,5vw,72px);padding:24px 0 28px;border-top:1px solid var(--l);line-height:1.4}.copy small{font-size:.8125rem}@media(max-width:900px){.fg{grid-template-columns:repeat(3,1fr)}.fg>div:first-child{grid-column:1/-1}}@media(max-width:700px){.fg{grid-template-columns:1fr;gap:32px}}
body:not(.home) main h1,body:not(.home) main .eyebrow,body:not(.home) main h1+p{text-align:center}body:not(.home) main a.btn{display:flex;width:fit-content;margin-inline:auto}
.g3.service-cards{gap:3rem}.service-cards .card h2{margin:0;color:#fff;font-size:clamp(22px,19.273px + .7273vw,28px);line-height:1.5;text-align:center}.service-cards .more::after{right:20px}
.inspection-cards .card :is(h2,h3){margin:0;color:var(--n);font-size:clamp(22px,21.091px + .2424vw,24px);line-height:1.5}.inspection-cards .more::after{right:20px}
body.single:not(.single-faq) .wrap.article,.wrap.article-narrow{max-width:880px}
body:not(.home) main .service-hero :is(h1,.eyebrow,p){text-align:left}
.company-table{width:100%;border-collapse:collapse;margin-top:clamp(16px,2.5vw,32px)}.company-table :is(th,td){padding:clamp(20px,2.2vw,28px) 16px;border-bottom:1px solid var(--l);font-weight:400;line-height:1.8;text-align:left;vertical-align:top}.company-table th{width:25%;color:#6b7480;white-space:nowrap}@media(max-width:700px){.company-table :is(th,td){display:block;width:100%;padding-inline:4px}.company-table th{padding-bottom:0;border-bottom:0;font-size:.8125rem}.company-table td{padding-top:4px}}
.copy{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px 32px}.footer .footer-sub{display:flex;flex-wrap:wrap;gap:8px 24px;margin:0;padding:0;border:0}.footer .footer-sub li{margin:0;font-size:.8125rem}.footer .footer-sub li+li{margin-top:0}@media(max-width:700px){.copy{flex-direction:column;align-items:flex-start}}
.empty-note{grid-column:1/-1;margin:0;text-align:center;line-height:2}@media(max-width:700px){.empty-note{text-align:left}.empty-note br{display:none}}
h2.ttl{margin:0 0 3rem}.sec-head h2.ttl{margin:0}.section .wrap>.btn{margin-top:3rem}@media(max-width:700px){h2.ttl{margin-bottom:2rem}.section .wrap>.btn{margin-top:2rem}}
@media(min-width:901px){.contact-btns{gap:24px}.contact-btns>a{width:min(100%,440px);min-height:104px;padding:16px 32px;gap:0 16px}.contact-btns svg{width:38px;height:38px}.contact-btns small{font-size:1rem}.contact-tel b{font-size:2.75rem}.contact-mail b{font-size:1.625rem}}
.recruit>h2:first-child{margin-top:0}.recruit-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin:clamp(24px,3vw,40px) 0 0;padding:0;list-style:none}.recruit-flow .step{position:relative;padding:28px 18px;text-align:center}.recruit-flow .num{margin:0 auto 12px}.recruit-flow h3{margin:0 0 .5em;color:var(--n);font-size:1.25rem;line-height:1.5}.recruit-flow p{margin:0;font-size:.875rem;line-height:1.8;text-align:left}.recruit-flow .step+.step::before{content:"";position:absolute;top:50%;left:-19px;border-style:solid;border-width:6px 0 6px 9px;border-color:transparent transparent transparent var(--n);transform:translateY(-50%)}.recruit-lead{margin:0 0 1em;color:var(--n);font-size:clamp(1.125rem,1rem + .6vw,1.5rem);font-weight:700;line-height:1.7}@media(max-width:900px){.recruit-flow{grid-template-columns:1fr 1fr}.recruit-flow .step:nth-child(odd)::before{display:none}}@media(max-width:700px){.recruit-flow{grid-template-columns:1fr}.recruit-flow .step+.step::before{display:block;top:-19px;left:50%;border-width:9px 6px 0;border-color:var(--n) transparent transparent;transform:translateX(-50%)}.recruit-lead br{display:none}}
.column-cards .card h3{font-size:1.5em}
.recruit h2,.recruit-intro{text-align:center}
/* Contact Form 7 (お問い合わせ) */
.contact-page .wpcf7-form,.contact-page .wpcf7-form *{font-family:"Noto Serif JP","Hiragino Mincho ProN","Yu Mincho",serif}table.contact-form{width:100%;border-collapse:collapse}.contact-form tr{border-bottom:1px solid var(--l)}.contact-form th,.contact-form td{padding:18px 0;text-align:left;vertical-align:top}.contact-form th{width:245px;padding-right:25px;font-weight:400;line-height:1.8}.contact-form :is(th,td) p{margin:0}.contact-form .wpcf7-form-control-wrap{display:block}.contact-page .contact-form :is(input,select,textarea){display:block;width:100%;padding:13px;border:1px solid var(--l);border-radius:0;background:#fafafa;color:inherit;font:inherit;font-size:1rem}.contact-form td textarea{height:258px;resize:vertical}.contact-page .contact-form :is(input,textarea)::placeholder{color:#b5b5b5;opacity:1}.contact-page .contact-form :is(input,select,textarea):focus{border-color:var(--b);outline:1px solid var(--b);outline-offset:-1px}.contact-form th .red,.contact-page .checkbox>span.red{font-size:0}.contact-form th .red::after,.contact-page .checkbox>span.red::after{content:"必須";padding:2px 6px;background:var(--n);color:#fff;font-size:.875rem}.contact-form th .red::after{margin-left:calc(5px + .25em)}.contact-page .checkbox>span.red::after{margin-right:10px}.contact-page .checkbox{position:relative;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;margin:0;padding:3rem 0}.contact-page .checkbox br{display:none}.contact-page .checkbox :is(.wpcf7-form-control-wrap,.wpcf7-acceptance,.wpcf7-list-item){display:flex;align-items:center}.contact-page .checkbox .wpcf7-form-control-wrap{position:static}.contact-page .checkbox .wpcf7-list-item{margin:0 .25em 0 0}.contact-page .checkbox input[type=checkbox]{width:20px;height:20px;margin:0 6px 0 0}.contact-page .checkbox a{color:inherit;text-decoration:underline}.contact-page .checkbox .wpcf7-not-valid-tip{position:absolute;left:0;right:0;bottom:1rem;margin:0;text-align:center;line-height:1.4}.contact-page .form-btn .submit{position:relative}.contact-page .form-btn p{margin:0}.contact-page .form-btn .wpcf7-submit{display:block;margin:0 auto;padding:15px 70px;border:0;border-radius:4px;background:var(--n);color:#fff;font:inherit;font-weight:500;cursor:pointer;-webkit-appearance:none;appearance:none;transition:opacity .3s ease}@media(hover:hover){.contact-page .form-btn .wpcf7-submit:hover{opacity:.8}}.contact-page .form-btn .wpcf7-spinner{position:absolute;top:50%;left:calc(50% + 124px);margin:-12px 0 0}.contact-page .wpcf7-not-valid-tip{margin-top:6px;color:#a43a3a;font-size:.875rem}.contact-page .wpcf7 form .wpcf7-response-output{margin:24px 0 0;padding:20px 24px;border:0;background:#fff0f0;color:#a43a3a;text-align:center}.contact-page .wpcf7 form.sent .wpcf7-response-output{background:#edf8f1;color:inherit}@media(max-width:760px){table.contact-form,.contact-form :is(tbody,tr,th,td){display:block}.contact-form tr{padding:1rem 0}.contact-form th{width:auto;padding:0}.contact-form td{padding:0}.contact-page .contact-form td :is(input,select,textarea){margin:1em 0}.contact-page .checkbox{padding:2rem 0}.contact-page .checkbox .wpcf7-not-valid-tip{bottom:.4rem}.contact-page .form-btn .wpcf7-submit{border-radius:2px}}
.related-ttl{font-size:clamp(1.5rem,1.149rem + 1.441vw,2.5rem)}.recruit-lead{text-align:center}body:not(.home) main a.btn.list-more{width:min(100%,300px)}
.column-cards .card img{aspect-ratio:728/360}
.column-cards .card,.column-cards .card>a{display:grid;grid-row:span 3;grid-template-rows:subgrid;gap:0}.column-cards .card .body{display:grid;grid-row:span 2;grid-template-rows:subgrid;row-gap:12px;align-content:start}.column-cards .card :is(h2,h3),.column-cards .card p{margin:0}
/* 技術コラム 記事詳細 */
.post-date{display:inline-block;margin:0 0 20px;padding:6px 25px 6px 10px;border-left:4px solid var(--n);line-height:1.4}body:not(.home) main .post-title{margin:0 0 clamp(24px,3vw,40px);padding-bottom:15px;border-bottom:4px solid var(--n);color:var(--n);font-size:clamp(1.375rem,1.1rem + 1.2vw,2rem);line-height:1.6;text-align:left}.post-eyecatch{margin:0 0 clamp(28px,4vw,48px)}.post-eyecatch img{display:block;width:100%;height:auto}.post-body{line-height:2}.post-body p{margin:0 0 30px}.post-body>:last-child{margin-bottom:0}.post-body :is(h2,h3,h4,h5){margin:2.2em 0 20px;line-height:1.6;text-align:left}.post-body>:first-child{margin-top:0}.post-body h2{padding:10px 15px;border-left:7px solid var(--n);border-bottom:1px solid var(--n);color:var(--n);font-size:clamp(1.125rem,1.05rem + .3vw,1.25rem)}.post-body h3{padding:10px 15px;border:1px solid #65788c;color:var(--i);font-size:1.125rem}.post-body h4{padding-bottom:10px;border-bottom:1px solid #65788c;font-size:1.0625rem}.post-body h5{padding-bottom:10px;border-bottom:1px dotted #65788c;color:#65788c;font-size:1rem}.post-body strong{display:block;margin-bottom:20px;font-size:1.125rem}.post-body img{max-width:100%;height:auto;margin-bottom:20px}.post-body a{color:var(--b);text-decoration:underline}.post-body table{width:100%;margin-bottom:20px;border-collapse:collapse;text-align:left}.post-body :is(th,td){padding:16px 20px;border:1px solid var(--l)}.post-nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;margin-top:clamp(40px,6vw,72px);font-size:.875rem;font-weight:700}.post-nav .prev a,.post-nav .next a{color:#55616e}.post-nav .next{text-align:right}.post-nav .back a{display:inline-block;padding:14px 40px;border:1px solid var(--n);color:var(--n);letter-spacing:.2em;line-height:1.6}.post-nav .back a::before{content:"";display:inline-block;margin-right:10px;border-style:solid;border-width:5px 0 5px 8px;border-color:transparent transparent transparent currentColor}@media(max-width:700px){.post-nav{grid-template-columns:1fr 1fr}.post-nav .back{grid-column:1/-1;grid-row:2;text-align:center}.post-nav .back a{display:block}}
.works-cards .card,.works-cards .card>a{display:grid;grid-row:span 3;grid-template-rows:subgrid;gap:0}.works-cards .card .body{display:grid;grid-row:span 2;grid-template-rows:subgrid;row-gap:8px;align-content:start;padding:18px 20px 22px}.works-cards .card :is(h2,h3){margin:0;color:var(--n);font-size:clamp(1.0625rem,1rem + .25vw,1.1875rem);line-height:1.6}.works-cards .card p{margin:0;font-size:.875rem;line-height:1.8}
:is(.works-cards,.column-cards){gap:clamp(24px,3.2vw,40px)}
.error404 .page-hero .btn{margin-top:3rem}@media(max-width:700px){.error404 .page-hero .btn{margin-top:2rem}}
.article>.service-list:first-child{margin-top:0}
.article h2:not(.ttl):not(.card h2):not(.post-body h2):not(.work-facts h2){position:relative;font-size:clamp(1.5rem,1.318rem + .7273vw,2rem);line-height:1.5}.article h2:not(.ttl):not(.card h2):not(.post-body h2):not(.work-facts h2)::before{content:"";position:absolute;top:.75em;right:calc(100% + min(.5em,10px));width:min(1.5em,calc(5vw - 10px));height:2px;margin-top:-1px;background:currentColor}.recruit h2{width:fit-content;margin-inline:auto}
.wrap.article:not(.article-wide){max-width:880px}
.page-hero .wrap{max-width:880px}
body:not(.home) main a.btn.list-more{width:fit-content;min-width:min(100%,300px)}
.page-hero-img{background:linear-gradient(106deg,rgba(3,42,108,.7) 2.06%,rgba(11,82,140,.7) 96.18%),var(--hero-img) lightgray 41% 88%/226.786% auto no-repeat;color:#fff}.page-hero-img :is(.eyebrow,.ttl,p){color:#fff;text-align:center}
/* 下層ページ本文：見出し＋内容のグループ */
.article-block{margin-bottom:clamp(48px,29.818px + 4.8485vw,88px)}.article-block:last-child,.article-block:has(+.btn){margin-bottom:0}.article-block>h2{margin:0 0 .75em}.article-block>:is(p,ul,ol,table){margin-top:0}.article-block>:last-child{margin-bottom:0}.article-block>.service-list{margin-top:0}
.recruit h2,.recruit-intro,.recruit-lead,body:not(.home) main .recruit .eyebrow{text-align:left}.recruit h2{width:auto;margin-inline:0}
/* 会社情報：経営理念・地図 */
.company-philosophy{display:grid;gap:clamp(16px,2vw,24px);margin:0;padding:0;list-style:none}.company-philosophy li{display:grid;grid-template-columns:auto 1fr;gap:8px clamp(16px,2.5vw,28px);padding:clamp(24px,3vw,40px);background:#fff;border:1px solid var(--l)}.company-philosophy .num{grid-row:span 2;margin:0}.company-philosophy h3{margin:0;color:var(--n);font-size:clamp(1.125rem,1.05rem + .35vw,1.375rem);line-height:1.6}.company-philosophy p{margin:0;line-height:2}@media(max-width:700px){.company-philosophy li{grid-template-columns:1fr}.company-philosophy .num{grid-row:auto}.company-philosophy h3 br{display:none}}
.company-map{margin-top:clamp(32px,4vw,48px)}.company-map iframe{display:block;width:100%;height:auto;aspect-ratio:16/9;border:0}@media(max-width:700px){.company-map iframe{aspect-ratio:4/3}}
/* ページ読み込み時のフェードイン（is-loading は header.php の inline script で付与） */
body{transition:opacity .8s ease-out}html.is-loading body{opacity:0}@media(prefers-reduced-motion:reduce){body{transition:none}}
