.hero{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:1fr auto;grid-gap:clamp(32px,3.5vw,56px);gap:clamp(32px,3.5vw,56px);align-items:center;min-height:calc(100svh - 73px);padding-top:32px;padding-bottom:32px}.hero-title{margin-top:24px;font-size:var(--fs-display);font-weight:500;letter-spacing:-.03em;line-height:1.1;text-wrap:balance}.hero-sub{margin-top:22px;font-size:16px;line-height:1.75;color:var(--text-2);letter-spacing:.01em;max-width:28em}.hero-actions{margin-top:34px;display:flex;gap:14px;flex-wrap:wrap}.hero-stats{grid-column:1/-1;align-self:end;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);margin-top:24px}.hero-stat{padding-top:18px;border-right:1px solid var(--line)}.hero-stat:last-child{border-right:0}.hero-stat:not(:first-child){padding-left:28px}.hero-stat b{display:block;font-size:30px;font-weight:500;letter-spacing:-.02em;line-height:1.15;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.hero-stat b em{font-style:normal;font-size:.55em;font-weight:400;color:var(--text-3);margin-left:2px}.hero-stat span{display:block;margin-top:6px;font-size:var(--fs-cap);color:var(--text-3)}.cat-band{padding-top:88px}.cat-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:20px;gap:20px}.cat-item{display:block}.cat-fig{aspect-ratio:4/5;overflow:hidden;background:var(--bg-subtle);border-radius:var(--radius-img)}.cat-fig img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}.cat-item:hover .cat-fig img{transform:scale(1.035)}.cat-meta{display:flex;align-items:baseline;gap:8px;margin-top:12px}.cat-name{font-size:14px;font-weight:500;letter-spacing:0;color:var(--text)}.cat-count{font-size:var(--fs-cap);color:var(--text-3);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.hero-figure{overflow:hidden;background:var(--bg-subtle);aspect-ratio:var(--hero-ratio,2/3);height:clamp(280px,calc(100svh - 300px),620px);width:auto;max-width:100%;justify-self:end}.hero-figure .lazy-fig,.hero-figure>*{height:100%}.hero-figure .lazy-fig img,.hero-figure img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}.hero-figure:hover img{transform:scale(1.02)}.hero-figure.is-natural{aspect-ratio:auto}.hero-figure.is-natural .lazy-fig,.hero-figure.is-natural img,.hero-figure.is-natural>*{height:auto}.hero-figure.is-natural img{object-fit:fill}.sec-head{display:flex;justify-content:space-between;align-items:baseline;padding-bottom:40px}.sec-title{font-size:var(--fs-h2);font-weight:500;letter-spacing:-.02em;line-height:1.25}.service-band{margin-top:120px;background:var(--bg-subtle);padding:96px 0}.service-grid{display:grid;grid-template-columns:repeat(4,1fr)}.service-item{padding:0 36px;border-left:1px solid var(--line)}.service-item:first-child{border-left:0;padding-left:0}.service-num{display:inline-block;padding:2px 7px;border-radius:4px;background:var(--brand);color:var(--text);font-size:11px;letter-spacing:.08em;font-weight:600;line-height:1.6}.service-name{margin-top:18px;font-size:var(--fs-h4);font-weight:500;letter-spacing:.02em}.service-desc{margin-top:10px;font-size:var(--fs-sm);color:var(--text-2);line-height:1.8}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:56px 32px;gap:56px 32px}.work-figure{aspect-ratio:2/3;overflow:hidden;background:var(--bg-subtle)}.work-figure img{transition:transform .8s var(--ease)}.work-item:hover .work-figure img{transform:scale(1.03)}.work-meta{padding-top:16px;display:flex;justify-content:space-between;align-items:baseline;gap:12px}.work-name{font-size:15px;font-weight:500;letter-spacing:0;line-height:1.45;color:var(--text)}.work-tag{display:flex;align-items:center;gap:6px;font-size:var(--fs-cap);letter-spacing:.04em;color:var(--text-3);white-space:nowrap;flex:none}.work-tag:before{content:"";flex:none;width:5px;height:5px;border-radius:50%;background:var(--brand)}.work-tag.is-plain{gap:0}.work-tag.is-plain:before{display:none}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:56px 32px;gap:56px 32px}.cta-band{padding:96px 0;display:grid;grid-template-columns:1fr auto;grid-gap:48px;gap:48px;align-items:center}.cta-title{font-size:clamp(24px,2.4vw,32px);font-weight:500;letter-spacing:-.015em}.cta-sub{margin-top:14px;font-size:15px;color:var(--text-2)}.page-head{padding-top:96px;padding-bottom:64px}.page-title{margin-top:24px;font-size:var(--fs-h1);font-weight:500;letter-spacing:-.025em;line-height:1.18}.page-desc{margin-top:20px;font-size:var(--fs-body);color:var(--text-2);max-width:34em}.filters{border-top:1px solid var(--line);border-bottom:1px solid var(--line);position:-webkit-sticky;position:sticky;top:72px;background:#fff;z-index:40}.filters-inner{max-width:var(--content-max);margin:0 auto;padding:0 40px;display:flex;gap:40px;overflow-x:auto;scrollbar-width:none}.filters-inner::-webkit-scrollbar{display:none}.filter{position:relative;padding:18px 0;font-size:13px;letter-spacing:.04em;color:var(--text-3);white-space:nowrap;transition:color var(--dur-fast) var(--ease)}.filter.is-active,.filter:hover{color:var(--text)}.filter.is-active:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--text)}.filter .n{margin-left:6px;font-size:11.5px;letter-spacing:.04em;color:var(--text-3);vertical-align:1px}.list-body{padding-top:72px;padding-bottom:120px}.pager{gap:10px;padding-bottom:130px}.pager,.pager a,.pager span{display:flex;justify-content:center;align-items:center}.pager a,.pager span{min-width:38px;height:38px;border:1px solid var(--line);border-radius:var(--radius-ui);font-size:13px;letter-spacing:.04em;color:var(--text-2);transition:border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.pager a:hover{border-color:var(--text);color:var(--text)}.pager .is-active{background:var(--text);border-color:var(--text);color:#fff}.detail-head{padding-top:88px}.detail-head h1{margin-top:24px;font-size:var(--fs-h1);font-weight:500;letter-spacing:-.025em;line-height:1.2;max-width:20em}.detail-head .lead{margin-top:22px;font-size:var(--fs-body);color:var(--text-2);max-width:34em}.detail-body{display:grid;grid-template-columns:minmax(0,1fr) 320px;grid-gap:clamp(32px,4vw,56px);gap:clamp(32px,4vw,56px);align-items:start;padding-top:40px}.detail-main{min-width:0}.gal{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px;align-items:start}.gal-item{margin:0}.gal-item.is-wide{grid-column:1/-1}.gal-item .lazy-fig{background:var(--bg-subtle)}.gal-item img{width:100%;height:auto}.gal-item figcaption{padding-top:12px;font-size:var(--fs-cap);letter-spacing:.04em;color:var(--text-3);display:flex;gap:10px}.gal-item figcaption b{font-weight:500;color:var(--text-2)}.detail-prose{margin-top:56px;max-width:34em}.detail-side{position:-webkit-sticky;position:sticky;top:96px}.side-card{border:1px solid var(--line);border-radius:var(--radius-ui);padding:22px 22px 20px;background:#fff}.side-list{margin:0}.side-row{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px}.side-row:first-child{padding-top:0}.side-row:last-child{border-bottom:0;padding-bottom:0}.side-row dt{flex:none;font-size:13px;color:var(--text-3)}.side-row dd{margin:0;text-align:right;font-weight:500;letter-spacing:0}.side-acts{display:grid;grid-gap:10px;gap:10px;margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.side-acts .btn{width:100%}.side-note{margin-top:10px;font-size:var(--fs-cap);color:var(--text-3);text-align:center}.pnav{border-top:1px solid var(--line);margin-top:40px;padding:64px 0 120px;display:flex;justify-content:space-between;gap:40px}.pnav a{max-width:44%}.pnav .dir{font-size:11px;letter-spacing:.1em;color:var(--text-3)}.pnav .ttl{margin-top:14px;font-size:20px;font-weight:500;letter-spacing:-.01em;color:var(--text);transition:color var(--dur-fast) var(--ease)}.pnav a:hover .ttl{color:var(--brand)}.pnav .next{text-align:right;margin-left:auto}.industry-hero{padding-top:72px}.industry-hero-fig{width:100%;aspect-ratio:21/9;overflow:hidden;background:var(--bg-subtle)}.industry-hero-text{padding-top:56px}.industry-hero-text h1{margin-top:24px;font-size:var(--fs-h1);font-weight:500;letter-spacing:-.025em;line-height:1.18}.industry-hero-text .lead{margin-top:22px;font-size:16px;color:var(--text-2);max-width:32em;line-height:1.75}.industry-hero-actions{margin-top:44px;display:flex;gap:14px;flex-wrap:wrap}.sec-block{padding-top:150px}.reason-grid{margin-top:80px;display:grid;grid-template-columns:repeat(3,1fr)}.reason{padding:0 40px;border-left:1px solid var(--line)}.reason:first-child{border-left:0;padding-left:0}.reason .n{display:inline-block;padding:2px 7px;border-radius:4px;background:var(--brand);color:var(--text);font-size:11px;letter-spacing:.08em;font-weight:600;line-height:1.6}.reason h3{margin-top:20px;font-size:16px;font-weight:500;letter-spacing:.01em}.reason p{margin-top:12px;font-size:var(--fs-sm);color:var(--text-2);line-height:1.85}.pain-band{background:var(--bg-subtle);margin-top:150px;padding:120px 0}.pain-list{margin-top:72px}.pain-row{display:grid;grid-template-columns:56px 1fr 1.35fr;grid-gap:40px;gap:40px;align-items:start;padding:40px 0;border-bottom:1px solid var(--line)}.pain-row:first-child{border-top:1px solid var(--line)}.pain-idx{font-size:11px;letter-spacing:.14em;color:var(--text-3)}.pain-q{font-size:17px;font-weight:500;letter-spacing:.01em;line-height:1.6}.pain-a{font-size:14px;color:var(--text-2);line-height:1.9}.pain-a:before{content:"解法｜";font-size:12px;letter-spacing:.06em;color:var(--text-3);font-weight:500;margin-right:6px}.chips{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.chip{padding:10px 20px;border:1px solid var(--line-2);border-radius:100px;font-size:13px;letter-spacing:.04em;color:var(--text-2);transition:border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.chip:hover{border-color:var(--text);color:var(--text)}.about-cols{margin-top:72px;display:grid;grid-template-columns:1fr 1fr;grid-gap:64px;gap:64px}.about-cols p{font-size:var(--fs-body);color:var(--text-2);line-height:1.95}.about-cols p+p{margin-top:20px}.steps-block{margin-top:160px;border-top:1px solid var(--line);padding-top:56px}.step-grid{margin-top:64px;display:grid;grid-template-columns:repeat(4,1fr)}.step{padding:0 36px;border-left:1px solid var(--line)}.step:first-child{border-left:0;padding-left:0}.step .n{display:inline-block;padding:2px 7px;border-radius:4px;background:var(--brand);color:var(--text);font-size:11px;letter-spacing:.08em;font-weight:600;line-height:1.6}.step h3{margin-top:20px;font-size:15px;font-weight:500}.step p{margin-top:12px;font-size:var(--fs-sm);color:var(--text-2);line-height:1.85}.stats-band{margin-top:160px;background:var(--bg-subtle);padding:120px 0}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr)}.stat{padding:0 36px;border-left:1px solid var(--line)}.stat:first-child{border-left:0;padding-left:0}.stat .num{font-size:40px;font-weight:500;letter-spacing:-.03em;line-height:1}.stat .num small{font-size:22px;font-weight:500}.stat .lbl{margin-top:14px;font-size:var(--fs-cap);letter-spacing:.14em;color:var(--text-3)}.gear-block{margin-top:160px}.gear-grid{margin-top:56px;display:grid;grid-template-columns:repeat(2,1fr);grid-gap:0 64px;gap:0 64px}.gear-row{display:flex;justify-content:space-between;gap:24px;padding:20px 0;border-bottom:1px solid var(--line);font-size:14px}.gear-row dt{color:var(--text-3);letter-spacing:.06em}.gear-row dd{color:var(--text);text-align:right}.lead-line{display:block}.lead-line+.lead-line{margin-top:10px}.lead-line.is-muted{color:var(--text-3)}.contact-layout{display:grid;grid-template-columns:7fr 5fr;grid-gap:96px;gap:96px;padding-bottom:120px;align-items:start}.form-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:40px;gap:40px}.field{position:relative;padding-top:26px;margin-bottom:32px}.field label{position:absolute;left:0;top:0;font-size:11px;letter-spacing:.1em;color:var(--text-3)}.field label .req{color:var(--brand)}.field input,.field select,.field textarea{width:100%;border:0;border-bottom:1px solid var(--line-2);background:transparent;padding:10px 0;font-family:inherit;font-size:14px;letter-spacing:.02em;color:var(--text);border-radius:0;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:border-color .35s var(--ease)}.field textarea{resize:vertical;min-height:96px;line-height:1.8}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--text)}.field input::placeholder,.field textarea::placeholder{color:#c7c7cc}.field-full{grid-column:1/3}.form-foot{margin-top:16px;display:flex;align-items:center;gap:24px;flex-wrap:wrap}.form-foot .btn{border:1px solid var(--text)}.form-note{font-size:var(--fs-cap);letter-spacing:.04em;color:var(--text-3)}.form-msg{margin-top:18px;font-size:12px;letter-spacing:.06em}.form-msg.is-ok{color:var(--ok)}.form-msg.is-err{color:var(--danger)}.contact-side{border-left:1px solid var(--line);padding-left:64px}.qr-box{width:150px;height:150px;background:var(--bg-subtle);display:flex;align-items:center;justify-content:center;text-align:center;font-size:10px;letter-spacing:.14em;color:var(--text-3);padding:12px;overflow:hidden}.qr-box img{width:100%;height:100%;object-fit:contain;display:block}.contact-side h2{margin-top:28px;font-size:15px;font-weight:500;letter-spacing:.02em}.contact-side .sub{margin-top:6px;font-size:var(--fs-sm);color:var(--text-3)}.info-list{margin-top:48px}.info-row{padding:20px 0;border-bottom:1px solid var(--line)}.info-row dt{font-size:11px;letter-spacing:.1em;color:var(--text-3)}.info-row dd{margin-top:8px;font-size:14px;color:var(--text)}.info-row dd a{transition:color var(--dur-fast) var(--ease)}.info-row dd a:hover{color:var(--brand)}@media (max-width:1024px){.hero{grid-template-columns:1fr;gap:32px;min-height:0;padding-top:32px;padding-bottom:56px}.hero-figure{order:-1;width:100%;height:auto;max-height:50vh;aspect-ratio:2/3;justify-self:stretch}.hero-figure .lazy-fig,.hero-figure .lazy-fig img{height:100%}.hero-figure .lazy-fig img{object-fit:contain}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.hero-stats{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:32px}.hero-stat{padding:16px 0 0;border-right:0}.hero-stat:not(:first-child){padding-left:0}.hero-stat:nth-child(2n){padding-left:20px;border-left:1px solid var(--line)}.hero-stat:nth-child(n+3){border-top:1px solid var(--line);margin-top:16px}.service-grid{grid-template-columns:repeat(2,1fr);gap:56px 0}.service-item:nth-child(3){border-left:0;padding-left:0}.cta-band{gap:32px}.cta-band,.detail-body{grid-template-columns:1fr}.detail-body{gap:40px}.detail-side{position:static;order:-1}.reason-grid{grid-template-columns:1fr;gap:48px}.reason{padding:0;border-left:0}.pain-row{grid-template-columns:40px 1fr;gap:20px}.pain-a{grid-column:2/3}.about-cols{grid-template-columns:1fr;gap:32px}.step-grid{grid-template-columns:repeat(2,1fr);gap:48px 0}.step:nth-child(3){border-left:0;padding-left:0}.stat-grid{grid-template-columns:repeat(2,1fr);gap:48px 0}.stat:nth-child(3){border-left:0;padding-left:0}.gear-grid{grid-template-columns:1fr;gap:0}.grid-3{grid-template-columns:repeat(2,1fr)}.contact-layout{grid-template-columns:1fr;gap:72px}.contact-side{border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:56px}}@media (max-width:768px){.page-head{padding-top:64px;padding-bottom:44px}.page-title{font-size:28px}.filters{top:60px}.filters-inner{padding-left:16px;padding-right:16px;gap:28px}.grid,.grid-3{grid-template-columns:1fr;gap:56px}.cat-band{padding-top:64px}.cat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.list-body{padding-top:48px;padding-bottom:80px}.pager{padding-bottom:90px}.cta-band{padding:96px 0}.cta-title{font-size:22px}.pain-band,.service-band{margin-top:100px;padding:80px 0}.service-grid,.stat-grid,.step-grid{grid-template-columns:1fr;gap:40px 0;margin-top:44px}.service-item,.stat,.step{padding:0;border-left:0}.gear-block,.sec-block,.stats-band,.steps-block{margin-top:100px}.stats-band{padding:80px 0}.stat .num{font-size:32px}.detail-head{padding-top:56px}.detail-head h1{font-size:26px}.gal{grid-template-columns:1fr}.gal-item.is-wide{grid-column:auto}.pnav{flex-direction:column;gap:32px;padding:48px 0 88px}.pnav a{max-width:100%}.pnav .next{text-align:left;margin-left:0}.industry-hero{padding-top:40px}.industry-hero-fig{aspect-ratio:4/3}.industry-hero-text h1{font-size:27px}.industry-hero-text .lead{font-size:14px}.form-row{grid-template-columns:1fr}.field-full{grid-column:auto}.form-foot{flex-direction:column;align-items:flex-start;gap:16px}.form-foot .btn{width:100%;text-align:center}}