body{font-family:'Noto Sans JP','Inter',system-ui,sans-serif}
.nav-active{color:#0D5C4D;font-weight:600}
.nav-link{transition:color .2s}.nav-link:hover,.footer-link:hover{color:#0D5C4D}
.premium-shadow{box-shadow:0 10px 25px -5px rgb(0 0 0/.1),0 8px 10px -6px rgb(0 0 0/.1)}
.section-title{position:relative;display:inline-block;padding-bottom:4px}
.section-title:after{content:'';position:absolute;bottom:-8px;left:0;width:60px;height:3px;background:linear-gradient(to right,#0A1F44,#0D5C4D)}
.corporate-card{transition:all .3s cubic-bezier(.4,0,.2,1)}
.corporate-card:hover{transform:translateY(-4px);box-shadow:0 20px 25px -5px rgb(0 0 0/.1)}
.form-input{transition:all .2s}.form-input:focus{outline:none;border-color:#0D5C4D;box-shadow:0 0 0 3px rgba(13,92,77,.12)}
.js .reveal{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease}
.js .reveal.in{opacity:1;transform:none}
.toast{min-width:260px;max-width:360px;padding:14px 18px;border-radius:14px;color:#fff;font-size:14px;box-shadow:0 10px 25px rgba(0,0,0,.2);animation:tIn .3s ease}
.toast.ok{background:#0D5C4D}.toast.err{background:#9b1c1c}
@keyframes tIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.js .reveal{opacity:1;transform:none;transition:none}}
.skip-link{position:absolute;left:-9999px;top:0}.skip-link:focus{left:1rem;top:1rem;z-index:300;background:#fff;color:#0A1F44;padding:.75rem 1rem;border-radius:.5rem;box-shadow:0 4px 14px rgba(0,0,0,.15)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}
