@layer components{.download-card{background:#fff;border:1px solid #e5e5e5;border-radius:20px;flex-direction:column;min-width:0;height:100%;display:flex;overflow:hidden}.download-card__image{aspect-ratio:16/9;background:var(--gray-light);overflow:hidden}.download-card__image img{object-fit:cover;width:100%;height:100%;transition:transform .65s var(--ease);display:block}.download-card:has(a:hover) .download-card__image img{transform:scale(1.04)}.download-card__body{flex-direction:column;flex:1;padding:28px;display:flex}.download-card h2{overflow-wrap:anywhere;font-size:1.25rem;font-weight:700;line-height:1.65}.download-card__body>p{overflow-wrap:anywhere;margin-top:16px;font-size:.9375rem;line-height:1.9}.download-card__action{margin-top:auto;padding-top:28px}.download-card__action :is(a,button){border:1px solid var(--black);width:100%;min-height:52px;color:var(--black);background:#fff;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;padding:12px 20px;font-size:1rem;font-weight:500;transition:background .3s,border-color .3s;display:flex}.download-card__action a:hover{border-color:var(--pink);background:#fcebf3}.download-card__action a:focus-visible{outline:3px solid var(--black);outline-offset:3px}.download-card__action button:disabled{color:#737373;background:var(--gray-light);cursor:not-allowed;border-color:#dedede}.download-card__action span{font-size:1.4rem}@media (width<=767px){.download-card__body{padding:24px}}@media (prefers-reduced-motion:reduce){.download-card__image img,.download-card__action a{transition:none}}.download-page{width:min(1200px,100% - 80px);margin:auto;padding:28px 0 80px}.download-page header nav{gap:12px;font-size:.875rem;display:flex}.download-page header nav a{text-underline-offset:4px;text-decoration:underline}.download-page h1{font:300 clamp(3.6rem,9vw,8rem)/1 var(--font-en);letter-spacing:-.045em;margin:44px 0 64px}.download-page h1>span{font:500 1rem/1.8 var(--font-ja);letter-spacing:.08em;margin-top:20px;display:block}.download-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 28px;display:grid}.download-empty{background:var(--gray-light);text-align:center;border-radius:16px;padding:48px 24px}@media (width<=1023px){.download-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 24px}}@media (width<=767px){.download-page{width:calc(100% - 50px);padding:20px 0 48px}.download-page h1{margin:32px 0 40px}.download-grid{grid-template-columns:1fr;gap:28px}}}
