/* support.html 専用：共通CSSには手を加えません */
.support-page .sub-nav {
    margin-bottom:20px;
}
.support-page .page-title {
    margin-bottom:24px;
}
.support-lead {
    border-left:6px solid #c9a24d;
    padding:8px 16px;
    margin:0 0 38px;
}
.support-lead p {
    margin:0 0 5px;
    font-size:16px;
    line-height:1.8;
}
.support-lead strong {
    color:#25364c;
    font-size:23px;
    line-height:1.5;
}
.support-section {
    margin:0 0 46px;
    scroll-margin-top:20px;
}
.support-section .bar-title {
    margin-bottom:24px;
}
.support-card-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:24px;
}
.support-card {
    min-width:0;
    background:#fff;
    border:1px solid #dfe4e9;
    border-radius:7px;
    overflow:hidden;
    box-shadow:0 3px 12px rgba(37,54,76,.07);
    display:flex;
    flex-direction:column;
}
.support-card-visual {
    min-height:210px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:12px;
    padding:26px 16px;
    background:#f2f5f8;
    border-bottom:1px solid #e0e5ea;
}
.support-card-visual--visit {
    background:linear-gradient(135deg,#f1f6fb,#e5eef6);
}
.support-card-visual--outcall {
    background:linear-gradient(135deg,#f8f5ed,#f0e7d7);
}
.support-card-symbol {
    width:88px;
    height:88px;
    border:3px solid #25364c;
    border-radius:50%;
    display:grid;
    place-items:center;
    color:#25364c;
    font-size:48px;
    line-height:1;
    background:#fff;
}
.support-card-visual-label {
    color:#25364c;
    font-weight:700;
    font-size:20px;
    letter-spacing:.06em;
}
.support-card-body {
    display:flex;
    flex-direction:column;
    flex:1;
    padding:22px 24px 24px;
}
.support-card-body h3 {
    color:#25364c;
    font-size:21px;
    margin:0 0 12px;
    border-left:5px solid #c9a24d;
    padding-left:12px;
}
.support-card-body p {
    font-size:14px;
    line-height:1.9;
    margin:0 0 24px;
    flex:1;
}
.support-button {
    display:block;
    text-align:center;
    background:#c63843;
    color:#fff!important;
    font-size:18px;
    font-weight:700;
    padding:14px 12px;
    border-radius:5px;
    text-decoration:none!important;
    transition:background .2s,transform .2s;
}
.support-button:hover,.support-button:focus-visible {
    background:#a92732;
    transform:translateY(-1px);
}
.support-pdf-card {
    display:grid;
    grid-template-columns:minmax(0,35%) minmax(0,1fr);
    gap:28px;
    align-items:center;
    padding:24px;
    background:#f7f9fb;
    border:1px solid #dfe4e9;
    border-radius:7px;
}
.support-pdf-thumb {
    display:block;
    height:320px;
    overflow:hidden;
    background:#fff;
    border:1px solid #d5dbe2;
    box-shadow:0 3px 10px rgba(0,0,0,.09);
}
.support-pdf-thumb img {
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:top center;
    display:block;
}
.support-pdf-text h3 {
    color:#25364c;
    font-size:22px;
    margin:0 0 14px;
}
.support-pdf-text p {
    font-size:14px;
    line-height:1.9;
    margin:0 0 18px;
}
.support-pdf-text .support-button {
    max-width:310px;
}
.support-pdf-note {
    font-size:12px!important;
    color:#596575;
    margin-top:12px!important;
}
.support-page .floating-page-top {
    position:fixed;
}
@media(max-width:768px) {
    .support-card-grid {
        gap:16px;
    }
    .support-card-visual {
        min-height:170px;
    }
    .support-card-body {
        padding:18px;
    }
    .support-pdf-card {
        grid-template-columns:35% minmax(0,1fr);
        gap:18px;
        padding:18px;
    }
    .support-pdf-thumb {
        height:260px;
    }
}
@media(max-width:600px) {
    .support-lead strong {
        font-size:20px;
    }
    .support-card-grid {
        grid-template-columns:1fr;
    }
    .support-card-visual {
        min-height:150px;
    }
    .support-pdf-card {
        grid-template-columns:1fr;
    }
    .support-pdf-thumb {
        height:240px;
        max-width:320px;
        width:100%;
        margin:0 auto;
    }
    .support-pdf-text .support-button {
        max-width:none;
    }
}
@media(prefers-reduced-motion:reduce) {
    .support-button {
        transition:none;
    }
}

/* 法人向けサポート */
.support-business {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 28px;
    align-items: center;
    padding: 24px;
    background: #f2f7fc;
    border: 1px solid #dce7f1;
    border-radius: 8px;
}

.support-business-image {
    display: block;
    min-width: 0;
}

.support-business-image img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 5px;
}

.support-business-content {
    min-width: 0;
}

.support-business-label {
    display: inline-block;
    margin-bottom: 12px;
    padding: 6px 14px;
    background: #0b579b;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    border-radius: 20px;
}

.support-business-content h3 {
    margin: 0 0 14px;
    color: #174c80;
    font-size: 23px;
    line-height: 1.5;
}

.support-business-content p {
    margin: 0 0 20px;
    color: #333;
    font-size: 15px;
    line-height: 1.9;
}

@media (max-width: 767px) {
    .support-business {
        grid-template-columns: 1fr;
        gap: 20px;
        padding: 18px;
    }

    .support-business-content h3 {
        font-size: 21px;
    }
}

/* サポートカードのバナー画像 */
.support-card-visual {
    display: block;
    width: 100%;
    min-height: 0;
    aspect-ratio: 2 / 1;
    padding: 0;
    overflow: hidden;
}

.support-card-visual img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

@media (max-width: 768px) {
    .support-card-visual {
        min-height: 0;
    }
}

@media (max-width: 600px) {
    .support-card-visual {
        min-height: 0;
    }
}
