:root {
    --ds25-max: 860px
}

.ds25-nav a {
    width: 22vw;
}

.ds25-nav img {
    width: 100%;
}

.ds25-container {
    width: min(var(--ds25-max), calc(100% - 48px))
}

.ds25-section {
    padding: 110px 0
}

.ds25-hero {
    aspect-ratio: 1 / 1.4;
    min-height: 1060px;
    height: auto;
    padding-top: 120px
}

.ds25-hero__title {
    width: 100%;
    margin: 0;
}

.ds25-hero__title img {
    width: 90%;
}

.ds25-hero__visual {
    background-size: 100%;
    background-position: top center;
    background-image: url(../images/sp_kv_bg-100.jpg);
}

.kv_cmp_btn {
    width: 150px;
    height: 150px;
    top: 590px;
    right: -30px;
}

.kv_cmp_btn.is-show {
    right: 0px;
}

.kv_arm {
    width: 460px;
    height: 348px;
    top: 200px;
    right: -70px;
    margin: 0;
}

.ds25-intro__grid,
.ds25-product-hero {
    gap: 20px;

}

/* 配置 */
.ds25-connect-4__icon--01 {
    left: 0px;
    top: 50px;
}

.ds25-connect-4__icon--02 {
    right: 35px;
    top: 36px;
}

.ds25-connect-4__icon--03 {
    right: 96px;
    top: 195px;
}

.ds25-connect-4__icon--04 {
    right: -20px;
    top: 340px;
}

.ds25-timeline__body h3 {
    font-size: 25px;
}

.ds25-label {
    font-size: 26px;
}

.ds-25-trend-box2 .package-box {
    width: 100%;
}

.ds-25-trend-box2 .package-box img {
    width: 100px;
    margin-right: 20px;
}

.ds25-connect-y {
    --icon-size: 65px;
}

.js-connect-y {
    position: absolute;
    right: -100px;
    top: 300px;
}

/* 完成形.svg基準の配置 */
.ds25-connect-y__icon--db {
    left: 100px;
    top: 26px;
}

.ds25-connect-y__icon--server {
    left: 210px;
    top: 465px;
}

.ds25-connect-y__icon--graph {
    left: 445px;
    top: 140px;
}

.ds25-connect-y__icon--mail {
    left: 680px;
    top: 290px;
}

.ds25-connect-p {
    --icon-size: 65px;
}

/* 完成形.svg基準の配置 */
.ds25-connect-p__icon--db {
    left: 10px;
    top: 203px;
}

.ds25-connect-p__icon--cloud {
    left: 315px;
    top: 10px;
}

.ds25-connect-p__icon--mail {
    left: 317px;
    top: 279px;
}

.js-connect-4 {
    position: absolute;
    left: -100px;
    top: 90px;
}

.js-connect-4.right {
    left: 55%;
}



.ds25-connect-r4 {
    --icon-size: 65px;
}

/* 完成形.svg基準の配置 */
.ds25-connect-r4__icon--db {
    left: 0;
    top: 0;
}

.ds25-connect-r4__icon--graph {
    left: 160px;
    top: 125px;
}

.ds25-connect-r4__icon--sync {
    left: 316px;
    top: 54px;
}

.ds25-connect-r4__icon--cloud {
    left: 361px;
    top: 277px;
}


.ds25-topic-card {
    box-shadow: none;
}

.ds25-history .move_title {
    width: 1000px;
    left: -310px;
    top: -320px;
}

.ds25-section-heading p {
    font-size: 18px;
}

.ds-25-trend-box {
    padding: 16px 20px;
}

.ds-25-trend-box2 {
    padding: 16px 20px;
}


.ds25-connect-4 {
    --icon-size: 65px;
    width: min(100%, 420px);
}

.ds25-evolution-grid,
.ds25-session-grid {
    grid-template-columns: 1fr 1fr
}

.ds25-timeline:before {
    left: 114px
}

.ds25-timeline__item {
    grid-template-columns: 1fr 160px 1fr;
}


.ds25-timeline__year:after {
    right: 42px
}

.ds25-action-split {
    grid-template-columns: 1fr
}

.ds25-flow {
    grid-template-columns: repeat(5, 1fr)
}

.ds25-floating-cta {
    right: 16px;
    bottom: 16px
}

.ds25-floating-cta__item {
    font-size: 13px;
    padding-inline: 14px
}

.ds25-voice-box {
    grid-template-columns: 1fr
}



.svg_motion_02 {
    position: absolute;
    left: -240px;
    top: -140px;
}

.ds25-connect-2 {
    --ds25-connect-icon-size: 65px;
}

/* 下側アイコン */
.ds25-connect-2__icon--circle {
    left: 184px;
    top: 360px;
}

/* 上側アイコン */
.ds25-connect-2__icon--db {
    left: 306px;
    top: 80px;
}

.svg_motion_01 {
    position: absolute;
    left: -200px;
    top: 210px;
}

/* アイコン */
.ds25-connect-r__icon {
    position: absolute;
    z-index: 2;
    width: 65px;
    height: 65px;
}

.ds25-connect-motion {
    --icon-size: 65px;

}

.svg_motion_03 {
    position: absolute;
    right: -250px;
    top: 0;
}

/* 配置例 */
.connect-icon--01 {
    left: 120px;
    bottom: 50px;
}

.connect-icon--02 {
    left: 250px;
    top: 25px;
}

.connect-icon--03 {
    right: 55px;
    top: 245px;
}

.ds25-voice-box p {
    font-size: 16px;
}

.ds25-btn {
    padding: 20px 28px;
}

.ds25-voice-box .customer-survey span {
    font-size: 26px;
}

.ds25-product {
    background-size: 900px;
    background-position: top center;
    padding-top: 280px;
    padding-bottom: 140px;
    scroll-margin-top: 100px;
}

.ds25-product .move_title {
    width: 1000px;
    right: -320px;
    top: -280px;
}

.ds25-section-heading h3 {
    font-size: 30px;
}

.ds25-evolution-card {
    width: 100%;
    display: flex;
    padding: 30px;
}

.evcard-left {
    width: 55%;
}

.evcard-right {
    width: 40%;
}

.ds25-evolution-card .ev-card_title {
    background-size: 18%;
}

.ds25-action-split {
    width: 100%;
}

.cta_ttl h2 {
    font-size: 32px;
}

.cta_ttl .pointing_left {
    width: 270px;
    top: -60px;
    left: -60px;
}

.ds25-dl_btn span {
    font-size: 22px;
}

.ds25-dl_btn {
    padding: 14px 18px;
}

.cta_body p {
    text-align: left;
    margin: 0;
    font-size: 14px;
}

.ds25-versionup {
    background-size: 900px;
    background-position: top center;
    margin-top: 90px;
    padding: 0 0 200px 0;
}

.reason_blk {
    grid-column-gap: 10px;
    margin-top: 0.5em;
    font-size: 14px;
}

.ds25-step-nav__item {
    padding: 24px 10px;
}

.flow5-box {
    padding: 12px 6px 22px 6px;
}

.flow5-box p {
    font-size: 13px;
    line-height: 1.6;
}

.flow-under-box h4 {
    line-height: 1;
}


.cta_ttl .pointing_right {
    width: 270px;
    top: -60px;
    right: -50px;
}

.ds25-event .move_title {
    width: 1000px;
    left: -310px;
    top: -220px;
}

.event_bg01 {
    width: 1000px;
}

.event_bg02 {
    width: 1000px;
}

.ds25-event .ds25-container {
    padding-top: 90px;
}

.event-blk {
    width: 94%;
}

.event-blk.event-blk01 h3 {
    font-size: 28px;
}

.event-blk.event-blk01 h3 span {
    font-size: 38px;
}

.event-blk.event-blk02 .event-open {
    top: -40px;
    left: -30px;
}

.event-blk.event-blk02 .event-open img {
    width: 150px;
}

.event-blk.event-blk02 dl {
    width: 90%;
}

.event-blk.event-blk03 h3 {
    font-size: 28px;
}

.session_part {
    margin-top: 1em;
    padding: 0px 20px 0px 20px;
}

.session_ttl_blk {
    padding: 10px 20px;
}

.session-icon {
    width: 160px;
}

.session-icon img {
    height: 8vw;
}

.session-txt-blk h5 {
    font-size: 18px;
}

.session-bottom .session-acd-blk {
    max-width: 450px;
}

.more-blk .blk01 {
    top: 8.5%;
    left: 15%;
    font-size: 30px;
}

.more-blk .blk02 {
    width: 60%;
    top: 14%;
    right: 2%;
    font-size: 20px;
}

.more-blk .blk03 {
    width: 30%;
    bottom: 7.5%;
    left: 8%;
    color: #fff;
    font-size: 30px;
}

.cta_ttl .pointing_left2 {
    width: 220px;
    top: 35px;
    left: -100px;
}

.cta_ttl .pointing_right2 {
    width: 60px;
    top: 40px;
    right: 20px;
}

.ds25-close_btn {
    display: block;
    width: 100%;
    height: auto;
    font-size: 18px;
    padding: 15px 0 25px 0;
}

.cta_line {
    height: 2px;
    border: 0;
    background-color: #EB7E0E;
    width: 80%;
    margin-left: 100px;
}

.js-connect-y5.event-y5 {
    display: none;
}


.event-frame {
    border: 20px solid #00907E;
}
.js-connect-y5 {
    position: absolute;
    left: -28%;
    top: -450px;
}
.ds25-connect-y5 {
    --icon-size: 65px;
}
.ds25-connect-y5__icon--server {
    left: 62%;
    top: 16.5%;
}
.js-connect-p3 {
    position: absolute;
    right: -24%;
    top: 42%;
}
.js-connect-p3b {
    position: absolute;
    left: -24%;
    bottom: -70px;
}
.js-connect-g4c {
    position: absolute;
    right: -29%;
    top: -3%;
    z-index: 2;
}