/* ============================================================
   Linkbox Component (shared across all pages)
   ============================================================ */

.linkbox {
    width: 100%;
    max-width: 100%;
    background: #fff;
}

.linkbox-inner {
    width: 100%;
    padding: 5.5rem 1.125rem;
}

.linkbox-wrapper {
    position: relative;
    width: 100%;
    max-width: 1440px;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    gap: 1.125rem;
}

.linkbox-content {
    width: 100%;
}

.linkbox-card {
    position: relative;
    width: 100%;
    max-width: 100%;
    display: flex;
    align-items: center;
    gap: 1.625rem;
    border-top: 1px solid var(--border-color);
    padding: 1.625rem 3.875rem 1.625rem 1.625rem;
    z-index: 2;
}

.linkbox-card:last-child {
    border-bottom: 1px solid var(--border-color);
}

.linkbox-card::after {
    content: "";
    display: inline-block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 1.625rem;
    width: 1.125rem;
    height: 0.875rem;
    background-image: url(/assets/Linkbox-Arrow.png);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    transition: 0.3s;
}

.linkbox-card:hover::after { right: 1.125rem; }
.linkbox-card-img { width: 100%; max-width: 2.75rem; }
.linkbox-card-img img { width: 100%; height: auto; object-fit: contain; }
.linkbox-card-title { font-size: 1.25rem; letter-spacing: 0.06em; margin-bottom: 0.25rem; }
.linkbox-card-text { color: #999999; font-size: 0.875rem; letter-spacing: 0.06em; }

@media screen and (max-width: 1280px) {
    .linkbox-inner { padding: 4.5rem 1.125rem; }
    .linkbox-card-title { font-size: 1.125rem; }
}

@media screen and (max-width: 1024px) {
    .linkbox-inner { padding: 3.875rem 1.125rem; }
    .linkbox-card-title { font-size: 1rem; }
    .linkbox-card-text { font-size: 0.75rem; }
}

@media screen and (max-width: 767px) {
    .linkbox-inner { padding: 3.25rem 1.125rem; }
    .linkbox-wrapper { gap: 0; flex-wrap: wrap; }
    .linkbox-card { gap: 1.125rem; padding: 1.625rem 2.75rem 1.625rem 0.875rem; }
    .linkbox-card-sp { border-top: none; }
    .linkbox-card::after { right: 1.125rem; }
    .linkbox-card:hover::after { right: 0.5rem; }
    .linkbox-card-img { max-width: 2.25rem; }
    .linkbox-card-title { font-size: 1rem; }
    .linkbox-card-text { font-size: 0.75rem; }
}
