.wk{position:relative;width:100vw;margin-left:50%;transform:translateX(-50%);overflow:hidden;padding-bottom:var(--sp-16);}
@keyframes wkmarquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}
.wk__c{background:var(--panel);border:var(--sp-1) solid var(--line);border-radius:var(--sp-3);overflow:hidden;transition:0.3s var(--ease);}
.wk__c:hover{box-shadow:0 var(--sp-30) var(--sp-50) var(--sp-n32) rgba(var(--s2-rgb),0.6);}
.wk__ph{aspect-ratio:2/1;overflow:hidden;background:var(--s3-3);}
.wk__ph img{width:100%;height:100%;object-fit:cover;}
.wk__b{padding:var(--sp-16) var(--sp-24) var(--sp-16);}
.wk__tag{font-family:var(--sans);font-size:var(--fs-11);letter-spacing:0.1em;color:var(--green);margin-bottom:var(--sp-12);}
.wk__c h3{font-size:var(--fs-20);font-weight:600;letter-spacing:0.04em;line-height:1.4;margin-bottom:var(--sp-10);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.wk__meta{display:flex;gap:var(--sp-16);border-top:var(--sp-1) solid var(--line);border-bottom:var(--sp-1) solid var(--line);padding:var(--sp-10) 0;margin-bottom:var(--sp-12);}
.wk__meta div{font-size:var(--fs-12);}
.wk__meta .k{font-family:var(--sans);color:var(--s2);letter-spacing:0.08em;margin-bottom:var(--sp-3);}
.wk__meta .v{font-weight:500;}
.wk__c p{font-size:var(--fs-13);color:var(--sub);line-height:1.8;letter-spacing:0.02em;margin-bottom:var(--sp-8);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.wk__c .more{font-family:var(--sans);font-size:var(--fs-12_5);color:var(--ink);padding-bottom:var(--sp-3);margin-top:var(--sp-10);display:inline-block;}
.wk-note{text-align:center;font-size:var(--fs-13);color:var(--sub);margin-top:var(--sp-48);line-height:1.9;}
.dt{width:100%;border-collapse:collapse;font-size:var(--fs-14);}
.dt caption{text-align:left;font-size:var(--fs-13);font-family:var(--sans);letter-spacing:0.18em;color:var(--green);margin-bottom:var(--sp-20);}
.dt th,.dt td{border-bottom:var(--sp-1) solid var(--line);padding:var(--sp-18) var(--sp-8);text-align:left;vertical-align:top;letter-spacing:0.02em;line-height:1.8;}
.dt th{width:30%;font-weight:600;color:var(--ink);font-size:var(--fs-13_5);}
.dt td{color:var(--sub);font-size:var(--fs-13_5);}
.dt a{color:var(--green);}
.hist .dt th{width:14%;font-family:var(--sans);}
.ad-map{display:inline-flex;align-items:center;color:var(--green);margin-left:0.4em;vertical-align:var(--sp-n2);transition:opacity 0.2s;}
.ad-map:hover{opacity:0.6;}
.ad-map svg{width:var(--sp-14);height:var(--sp-14);}
.dt .sign{height:var(--sp-30);width:auto;display:block;mix-blend-mode:multiply;}
.cform{display:grid;grid-template-columns:0.8fr 1.2fr;gap:var(--sp-64);align-items:start;}
.cinfo .lb{font-family:var(--sans);font-size:var(--fs-11);letter-spacing:0.2em;color:var(--s2);margin-bottom:var(--sp-12);}
.cinfo .tel{font-family:var(--sans);font-size:var(--fs-30);letter-spacing:0.02em;margin-bottom:var(--sp-10);}
.cinfo p{font-size:var(--fs-13);color:var(--sub);line-height:1.9;}
.field{margin-bottom:var(--sp-26);}
.field label{display:block;font-size:var(--fs-13_5);font-weight:500;margin-bottom:var(--sp-10);letter-spacing:0.04em;}
.field label .req{font-family:var(--sans);font-size:var(--fs-10);color:var(--green);margin-left:var(--sp-10);letter-spacing:0.06em;}
.field input,.field textarea{width:100%;border:var(--sp-1) solid var(--line-d);background:var(--panel);padding:var(--sp-14) var(--sp-16);font-family:var(--serif);font-size:var(--fs-14);border-radius:var(--sp-2);}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--green);}
.consent{display:flex;align-items:center;gap:var(--sp-10);margin-bottom:var(--sp-28);font-size:var(--fs-13_5);}
.consent input{width:var(--sp-17);height:var(--sp-17);accent-color:var(--green);}
.consent a{color:var(--green);border-bottom:var(--sp-1) solid var(--green);}
.consent .req{font-family:var(--sans);font-size:var(--fs-10);color:var(--green);margin-left:var(--sp-8);}
.pp{max-width:var(--sp-768);margin:0 auto;}
.pp__intro{font-size:var(--fs-14);line-height:2;color:var(--sub);margin-bottom:var(--sp-56);letter-spacing:0.02em;}
.pp__sec{margin-bottom:var(--sp-48);}
.pp__sec h2{font-size:var(--fs-18);font-weight:600;letter-spacing:0.05em;border-left:var(--sp-2) solid var(--green);padding-left:var(--sp-16);margin-bottom:var(--sp-16);}
.pp__sec p{font-size:var(--fs-13_5);color:var(--sub);line-height:2;letter-spacing:0.02em;}
.pp__sec p+p{margin-top:var(--sp-12);}
.pp__sec ul{list-style:disc;padding-left:var(--sp-24);font-size:var(--fs-13_5);color:var(--sub);line-height:1.9;margin-top:var(--sp-12);}
.pp__contact{background:var(--panel);border:var(--sp-1) solid var(--line);border-radius:var(--sp-3);padding:var(--sp-28) var(--sp-30);font-size:var(--fs-13_5);line-height:2;color:var(--sub);font-style:normal;}
.pp__date{text-align:right;font-size:var(--fs-12);color:var(--faint);margin-top:var(--sp-48);font-family:var(--sans);}
@media(max-width: 768px){.cform{grid-template-columns:1fr;gap:var(--sp-40);}}
.p-company .sign{mix-blend-mode:multiply;}
.p-company #motto .lead{font-size:clamp(var(--fs-24),7.6vw,var(--fs-52));white-space:nowrap;}
.p-sitemap .sm-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(var(--sp-210),1fr));gap:var(--sp-34) var(--sp-40);margin-top:var(--sp-10);}
.p-sitemap .sm-col{display:flex;flex-direction:column;gap:var(--sp-9);}
.p-sitemap .sm-h{font-size:var(--fs-15);font-weight:700;color:var(--ink);text-decoration:none;line-height:1.5;}
.p-sitemap .sm-h:hover{color:var(--green);}
.p-sitemap .sm-col a:not(.sm-h){font-size:var(--fs-13);color:var(--gray-mid);text-decoration:none;line-height:1.7;padding-left:var(--sp-12);}
.p-sitemap .sm-col a:not(.sm-h):hover{color:var(--green);}
.p-works
.wk-mq{position:relative;width:100vw;margin-left:calc(50% - 50vw);overflow:hidden;padding-bottom:var(--sp-16);}
.p-works .wk-mq__track{display:flex;width:max-content;animation:wkmarquee 36s linear infinite;will-change:transform;}
.p-works .wk-mq:hover .wk-mq__track{animation-play-state:paused;}
@keyframes wkmarquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}
.p-works .wk-mq__track .wk__c{flex:0 0 var(--sp-360);width:var(--sp-360);margin-right:var(--sp-24);}
@media(max-width: 768px){.p-works .wk-mq__track .wk__c{flex:0 0 var(--sp-280);width:var(--sp-280);margin-right:var(--sp-16);}}
@media(prefers-reduced-motion:reduce){.p-works .wk-mq__track{animation:none;}}
.p-works .wk__ph{aspect-ratio:16/9;height:auto;border-bottom:var(--sp-1) solid var(--img-line);}
.p-works .wk__ph img{width:100%;height:100%;object-fit:cover;display:block;}
.p-works .wk-mq--new .wk__c{position:relative;background:var(--panel);border:var(--sp-0_5) solid var(--card-line);border-radius:var(--sp-6);overflow:hidden;display:flex;flex-direction:column;height:var(--sp-480);box-shadow:0 var(--sp-1) var(--sp-2) rgba(var(--black-rgb),0.03);transition:box-shadow 0.25s,transform 0.25s;}
.p-works .wk-mq--new .wk__c:hover{box-shadow:0 var(--sp-12) var(--sp-30) rgba(var(--black-rgb),0.09);transform:translateY(var(--sp-n3));}
.p-works .wk-mq--new .wk__lk{position:absolute;inset:0;z-index:3;}
.p-works .wk-mq--new .wk__b{padding:var(--sp-14) var(--sp-15) var(--sp-16);display:flex;flex-direction:column;gap:var(--sp-9);flex:1 1 auto;}
.p-works .wk-mq--new .wk__c h3{font-weight:500;color:var(--ink);font-size:var(--fs-15);line-height:1.4;margin:0;}
.p-works .wk-mq--new .wk__tags{display:flex;flex-wrap:wrap;gap:var(--sp-6);}
.p-works .wk-mq--new .wk__pill{font-size:var(--fs-11);border-radius:var(--sp-4);padding:var(--sp-3) var(--sp-9);line-height:1.5;white-space:nowrap;}
.p-works .wk-mq--new .wk__pill--cat{background:var(--pill-grn-bg);color:var(--green-d);border:var(--sp-0_5) solid var(--pill-grn-ln);}
.p-works .wk-mq--new .wk__pill--per{background:var(--pill-gry-bg);color:var(--gray-d);}
.p-works .wk-mq--new .wk__tech{font-size:var(--fs-11_5);color:var(--gray-2);line-height:1.6;}
.p-works .wk-mq--new .wk__tech span{color:var(--s2);}
.p-works .wk-mq--new .wk__cm{font-size:var(--fs-12);color:var(--gray-d);line-height:1.75;border-top:var(--sp-0_5) solid var(--card-line);padding-top:var(--sp-9);margin:0;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;}
.p-works .wk-mq--new .wk__more{margin-top:auto;font-size:var(--fs-12);color:var(--green-d);font-weight:600;}
.p-works .wk-mq--new .wk__c:hover .wk__more{text-decoration:underline;}
.p-works .wk-mq--new .wk__c--ph .wk__ph{background:repeating-linear-gradient(135deg,var(--ph-1),var(--ph-1) var(--sp-14),var(--ph-2) var(--sp-14),var(--ph-2) var(--sp-28));}
.p-company .company-s1{font-size:var(--fs-12);margin-top:var(--sp-6);}
.p-company .company-s2{background:transparent;}
.p-company .company-s3{text-align:center;font-size:var(--fs-52);font-weight:600;color:var(--ink);letter-spacing:0.25em;max-width:none;line-height:1.25;margin-top:var(--sp-28);}
.p-company .company-s4{text-align:center;margin:0 auto var(--sp-28);max-width:32em;}
.p-company .company-s5{text-align:center;margin:0 auto var(--sp-28);max-width:32em;}
.p-company .company-s6{text-align:center;margin:0 auto var(--sp-28);max-width:32em;}
.p-contact .contact-s1{font-size:var(--fs-12);margin-top:var(--sp-6);}
.p-contact .contact-s2{margin:0;}
.p-contact .contact-s3{margin:var(--sp-18) 0 0;font-size:var(--fs-12);line-height:1.85;color:var(--sub);letter-spacing:0.02em;}
.p-privacy .privacy-s1{font-size:var(--fs-12);margin-top:var(--sp-6);}
.p-privacy .privacy-s2{color:var(--green);}
.p-sitemap .sitemap-s1{font-size:var(--fs-12);margin-top:var(--sp-6);}
.p-works .works-s1{font-size:var(--fs-12);margin-top:var(--sp-6);}
