.c-herodop-ttl {
    font-size: 32px;
    letter-spacing: 1.28px;
    color: #222222;
}
@media (min-width: 1024px) {
    .c-herodop-ttl {
        font-size: 40px;
        letter-spacing: 1.6px;
    }
}
.smartphone-linkage-pop-txt {
    font-size: 24px;
    font-weight: var(--font-weight-bold);
    line-height: 1.5;
    letter-spacing: 0.96px;
    color: #222222;
}
@media (min-width: 1024px) {
    .smartphone-linkage-pop-txt {
        font-size: 32px;
        letter-spacing: 1.28px;
    }
}
.smartphone-linkage-columns .c-columnsdop-media {
    background-color: #ffffff;
}
.smartphone-linkage-columns .c-columnsdop-img {
    object-fit: contain;
    padding: 5%;
}
.smartphone-linkage-pop-btn-area {
    display: flex;
    justify-content: flex-end;
}
.smartphone-linkage-textbtn {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    text-decoration: none !important;
}
.smartphone-linkage-textbtn:hover {
    background-color: #f4f4f4;
}
.smartphone-linkage-textbtn-txt {
    font-family: var(--font-family-bold);
    font-size: 12px;
    font-weight: var(--font-weight-bold);
    line-height: 1.5;
    letter-spacing: 0.48px;
    color: #000000;
}
.smartphone-linkage-textbtn-icon {
    top: -1px;
    position: relative;
    width: 12px;
    height: 12px;
    flex-shrink: 0;
}
@media (min-width: 1024px) {
    .smartphone-linkage-textbtn-txt {
        font-size: 14px;
        letter-spacing: 0.56px;
    }
}
.smartphone-linkage-columns .c-columnsdop-ttl {
    text-align: center;
}
.mt-16 { margin-top: 16px; }
.mt-24 { margin-top: 24px; }
.mt-48 { margin-top: 48px; }
.mt-96 { margin-top: 96px; }
.ps-heading,
.tab-h2-heading,
.tab-section-heading {
    font-family: var(--font-family-bold);
    font-size: 24px;
    font-weight: var(--font-weight-bold);
    line-height: 1.5;
    letter-spacing: 0.96px;
    color: #222222;
    margin: 0;
}
@media (min-width: 1024px) {
    .ps-heading,
    .tab-h2-heading,
    .tab-section-heading {
        font-size: 32px;
        letter-spacing: 1.28px;
    }
}
.tab-content-heading {
    font-family: var(--font-family-bold);
    font-size: 16px;
    font-weight: var(--font-weight-bold);
    line-height: 1.5;
    letter-spacing: 0.64px;
    color: #222222;
    margin: 0;
}
@media (min-width: 1024px) {
    .tab-content-heading {
        font-size: 24px;
        letter-spacing: 0.96px;
    }
}
.tab-presentation {
    display: flex;
    flex-direction: column;
    gap: 24px;
}
.tab-presentation-text {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.tab-presentation-body,
.tab-body-text,
.compat-models-name {
    font-family: var(--font-family-base);
    font-size: 14px;
    font-weight: var(--font-weight-normal);
    line-height: 1.5;
    letter-spacing: 0.56px;
    color: #222222;
    margin: 0;
}
.tab-presentation-link {
    color: #222222;
    word-break: break-all;
}
.tab-presentation-image {
    width: 100%;
}
.tab-presentation-img {
    width: 100%;
    height: auto;
    display: block;
}
@media (min-width: 1024px) {
    .tab-presentation-body,
    .tab-body-text,
    .compat-models-name {
        font-size: 16px;
        letter-spacing: 0.64px;
    }
    .tab-presentation {
        flex-direction: row;
        align-items: flex-start;
        gap: 0;
    }
    .tab-presentation-text {
        flex: 0 0 calc(632px - 112px - 32px);
        padding-right: 32px;
    }
    .tab-presentation-image {
        flex: 1 1 0%;
        min-width: 0;
    }
}
.compat-models-list {
    display: flex;
    flex-direction: column;
    gap: 24px;
}
.compat-models-row {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
@media (min-width: 1024px) {
    .compat-models-row {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        gap: 16px;
    }
}
.basic-card {
    border: 1px solid #000000;
    padding: 25px;
}
.basic-card-txt {
    font-family: var(--font-family-bold);
    font-size: 16px;
    font-weight: var(--font-weight-bold);
    line-height: 1.5;
    letter-spacing: 0.64px;
    color: #222222;
    margin: 0;
}
@media (min-width: 1024px) {
    .basic-card {
        padding: 49px;
    }
    .basic-card-txt {
        font-size: 20px;
        letter-spacing: 0.8px;
    }
}
.connection-image-wrap {
    width: 100%;
    overflow-x: auto;
}
.connection-img {
    display: block;
    width: 800px;
    height: auto;
}
@media (min-width: 1024px) {
    .connection-image-wrap {
        overflow-x: visible;
    }
    .connection-img {
        width: 100%;
    }
}
.software-link-list-icon {
    width: 9.5px;
    height: 9.5px;
}
