.gallery-item{position:relative;overflow:hidden}.gallery-item img{transition:transform .5s cubic-bezier(.4,0,.2,1)}.gallery-item:hover img{transform:scale(1.1)}.gallery-item:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.3),transparent);opacity:0;transition:opacity .3s ease;pointer-events:none}.gallery-item:hover:after{opacity:1}.company-table-row{transition:background-color .2s ease}.company-table-row:hover{background-color:#f8fafc80}.greeting-quote{animation:fadeInQuote 1s ease-out forwards}@keyframes fadeInQuote{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.map-container{position:relative;overflow:hidden}.map-container iframe{transition:opacity .3s ease}.map-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background-color:#f1f5f9}.service-card{transition:transform .2s ease,box-shadow .2s ease}.service-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.sns-button{transition:transform .2s ease,box-shadow .2s ease}.sns-button:hover{transform:scale(1.1);box-shadow:0 8px 20px #0003}@media(max-width:639px){.gallery-grid{gap:.5rem}.gallery-item{border-radius:.5rem}}@media(min-width:768px){.company-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}}.gallery-item:focus-visible,.sns-button:focus-visible{outline:2px solid #0ea5e9;outline-offset:2px}@media(prefers-contrast:high){.company-table-row{border-bottom:1px solid currentColor}}@media(prefers-reduced-motion:reduce){.gallery-item img,.sns-button,.service-card{transition:none}.greeting-quote{animation:none}}
