@charset "utf-8";

.sec-intro {
    background: #edf9ff;
}

.sec-intro .inner {
    padding: 70px 0;
    max-width: 1344px;
    width: 80%;
    margin: 0 auto;
}

.sec-intro .title {
    font-family: var(--ja);
    font-weight: 700;
    font-size: clamp(1.125rem, 0.913rem + 0.91vw, 2rem);
    color: #072651;
    margin-bottom: 70px;
}

.sec-intro .main-menu {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 25px;
    margin-bottom: 70px;
}

.sec-intro .sub-menu {
    display: grid;
    grid-template-columns: repeat(3, 170px);
    gap: 40px;
    justify-content: center;
}

.sec-intro .main-menu .item,
.sec-intro .sub-menu .item {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 87px;
    border-radius: 3px;
    background: #072651;
    position: relative;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.sec-intro .main-menu .item:hover,
.sec-intro .sub-menu .item:hover {
    transform: translateY(-8px);
}

.sec-intro .sub-menu .item {
    height: 70px;
}

.sec-intro .main-menu .item::after,
.sec-intro .sub-menu .item::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    margin: auto;
    width: 0;
    height: 0;
    border-style: solid;
    border-right: 10px solid transparent;
    border-left: 10px solid transparent;
    border-top: 11px solid #072651;
    border-bottom: 0;
}


.sec-intro .main-menu .item .main {
    font-family: var(--ja);
    font-weight: 700;
    font-size: clamp(1.125rem, 0.973rem + 0.65vw, 1.75rem);
    color: #fff;
}

.sec-intro .main-menu .item .sub {
    font-family: var(--ja);
    font-weight: 700;
    font-size: clamp(0.75rem, 0.659rem + 0.39vw, 1.125rem);
    color: #fff;
}

.sec-intro .main-menu .item .text {
    display: flex;
    justify-content: center;
    align-items: flex-end;
}

.sec-intro .sub-menu .item .main {
    font-family: var(--ja);
    font-weight: 700;
    font-size: clamp(0.875rem, 0.814rem + 0.26vw, 1.125rem);
    color: #fff;
}

.lineup {
    padding: 94px 0 0;

}

.lineup .title {
    margin-bottom: 165px;
}

.lineup .section {
    display: flex;
    flex-direction: column;
    gap: 60px;
    max-width: 1344px;
    width: 84%;
    margin: 0 auto;
}

.lineup .section .pro-tit {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.lineup .section .pro-tit .effect {
    display: flex;
    gap: 10px;
    align-items: center;
    font-family: var(--ja);
    font-weight: 400;
    font-size: clamp(0.938rem, 0.801rem + 0.58vw, 1.5rem);
    color: #000;
}

.lineup .section .pro-tit .effect .item {
    font-family: var(--ja);
    font-weight: 400;
    font-size: clamp(0.75rem, 0.659rem + 0.39vw, 1.125rem);
    padding: 7px 20px;
    color: #fff;

}

.lineup .section .pro-tit .effect .item.blue {
    background: #072651;
}

.lineup .section .pro-tit .effect .item.pro01 {
    background: #c4ac46;
}

.lineup .section .pro-tit .effect .item.pro02 {
    background: #3a88c1;
}

.lineup .section .pro-tit .effect .item.pro03 {
    background: #4aa8a1;
}

.lineup .section .pro-tit .effect .item.pro04 {
    background: #574707;
}

.lineup .section .pro-tit .main {
    font-family: var(--ja);
    font-weight: 700;
    font-size: clamp(1.5rem, 1.257rem + 1.04vw, 2.5rem);
    text-align: left;
    color: #072651;
}

.lineup .section .sec-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    padding-bottom: 30px;
    border-bottom: 1px solid #072651;
}

.lineup .section .sec-head .price p {
    font-family: var(--ja);
    font-weight: 700;
    font-size: clamp(0.875rem, 0.784rem + 0.39vw, 1.25rem);
    color: #000;
}

.lineup .section .sec-body .column {
    display: flex;
    align-items: center;
    gap: 8%;
}

.lineup .section.sec-pro01 .sec-body .column .sec-img {
    position: relative;
}

.lineup .section.sec-pro01 .sec-body .column .sec-img::before {
    content: "";
    background: url(/system_panel/uploads/images/20260318142611547196.png) no-repeat center/contain;
    width: 121px;
    height: 80px;
    position: absolute;
    top: -40px;
    left: -38px;
}

.lineup .section.sec-pro01 .sec-body .column .sec-text {
    display: flex;
    flex-direction: column;
    gap: 20px;
    align-items: flex-start;
}

.lineup .section .sec-desc p {
    font-family: var(--ja);
    font-weight: 500;
    font-size: clamp(1rem, 0.939rem + 0.26vw, 1.25rem);
    line-height: 2;
    color: #072651;
}

.lineup .section .sec-feature,
.lineup .section .sec-purpose,
.lineup .section .sec-effect {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 18px;
}

.lineup .section .sec-feature .ttl,
.lineup .section .sec-purpose .ttl,
.lineup .section .sec-effect .ttl {
    font-family: var(--ja);
    font-weight: 400;
    font-size: clamp(0.75rem, 0.72rem + 0.13vw, 0.875rem);
    text-align: center;
    padding: 10px 15px;
    color: #fff;
    background: #072651;
    border: 1px solid #707070;
}

.lineup .section .sec-feature .desc p,
.lineup .sec-pro01 .sec-effect .list .item .desc p {
    font-size: clamp(0.813rem, 0.767rem + 0.19vw, 1rem);
    line-height: calc(30/16);
    color: #000;
}

.lineup .sec-pro01 .sec-purpose .list {
    display: grid;
    grid-template-columns: repeat(5, 118px);
    gap: 20px;
}

.lineup .section .sec-purpose .list .item {
    display: flex;
    flex-direction: column;
    align-items: center;
    font-family: var(--ja);
    font-weight: 400;
    font-size: clamp(0.75rem, 0.689rem + 0.26vw, 1rem);
    color: #000;
}

.lineup .sec-pro01 {
    margin-bottom: 130px;
}

.lineup .sec-pro01 .sec-effect .list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    justify-content: center;
}

.lineup .sec-pro01 .sec-effect .list .item {
    background: #edf9ff;
    box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
}

.lineup .sec-pro01 .sec-effect .list .item .box-inner {
    padding: 30px 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.lineup .sec-pro01 .sec-effect .list .item .img {
    margin-bottom: 60px;
}

.lineup .sec-pro01 .sec-effect .list .item .item-tit {
    font-family: var(--ja);
    font-weight: 700;
    font-size: clamp(1.125rem, 0.973rem + 0.65vw, 1.75rem);
    text-align: center;
    color: #072651;
    margin-bottom: 50px;
}

.lineup .sec-pro01 .sec-effect {
    margin-bottom: 130px;
}

.lineup .sec-pro01 .morebtn {
    max-width: 714px;
    width: 90%;
    margin: 0 auto;
    background: #e29c3d;
    filter: drop-shadow(0px 3px 6px rgba(0, 0, 0, 0.16));
}

.lineup .sec-pro01 .morebtn:hover {
    opacity: 1;
    transform: scale(.95);
}

.lineup .sec-pro01 .morebtn a {
    font-size: clamp(1.125rem, 0.913rem + 0.91vw, 2rem);
    color: #fff;
    height: 100px;
}

.lineup .sec-others {
    background: #f7fdff;
    padding: 140px 0 170px;
}

.lineup .sec-others .sec-img {
    max-width: 263px;
    width: 60%;
}

.lineup .sec-others .sec-text {
    display: grid;
    grid-template-columns: max-content 1fr;
    gap: 12% 10%;
    flex: 1;
}

.lineup .sec-others .sec-text .sec-feature {
    grid-column: 1/3;
}

.lineup .sec-others .sec-purpose {
    display: flex;
    flex-direction: row;
    gap: 15px;
}

.lineup .sec-others .sec-purpose .item {
    max-width: 118px;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    font-family: var(--ja);
    font-weight: 400;
    font-size: clamp(0.75rem, 0.629rem + 0.52vw, 1.25rem);
    color: #000;
}

.lineup .sec-others .sec-effect .list {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.lineup .sec-others .sec-effect .item {
    font-family: var(--ja);
    font-weight: 500;
    font-size: clamp(1rem, 0.97rem + 0.13vw, 1.125rem);
    color: #072651;
}

.lineup .sec-others .section {
    margin-bottom: 120px;
}

.lineup .sec-others .btnarea {
    margin-top: 20px;
    display: flex;
    gap: 30px;
    justify-content: center;
    margin-bottom: 27px;
}

.lineup .sec-others .btn-shop,
.lineup .sec-others .btn-line {
    height: 115px;
    max-width: 453px;
    filter: drop-shadow(0px 3px 6px rgba(0, 0, 0, 0.16));
}

.lineup .sec-others .btn-line {
    background: #0b8645;
    text-align: center;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    transition: var(--default);
}

.lineup .sec-others .btn-line:hover {
    transform: scale(.95);
}

.lineup .sec-others .btn-shop a,
.lineup .sec-others .btn-line a {
    display: flex;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-weight: 600;
    font-size: clamp(1.5rem, 1.379rem + 0.52vw, 2rem);
}

.lineup .attention,
.faq .inner,
.usecase .inner,
.howto .inner {
    max-width: 1344px;
    width: 80%;
    margin: 0 auto;
}

.lineup .attention p {
    font-family: var(--ja);
    font-weight: 400;
    font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);
    text-align: right;
    color: #000;
}

.usecase {
    position: relative;
    z-index: 10;
}

.usecase .inner {
    padding: 117px 0 140px;
}

.usecase .title {
    margin-bottom: 130px;
}

.usecase .webgene-blog {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 5%;
    margin-bottom: 80px;
}

.howto .inner {
    padding-bottom: 140px;
}

.howto .title {
    margin-bottom: 160px;
}

.howto .list {
    display: flex;
    align-items: center;
    gap: 6%;
    margin-bottom: 40px;
}

.howto .list .item {
    display: flex;
    flex-direction: column;
    gap: 10px;
    position: relative;
}

.howto .list .item::after {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-top: 19px solid transparent;
    border-bottom: 19px solid transparent;
    border-left: 30px solid #000000;
    border-right: 0;
    position: absolute;
    top: 35%;
    margin: auto;
    left: calc(100% + 20px);
}

.howto .list .item:last-child:after {
    content: none;
}

.howto .list .item .img {
    position: relative;
}

.howto .list .item .num {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 57px;
    aspect-ratio: 1/1;
    background-color: #E29C3D;
    border-radius: 50px;
    position: absolute;
    top: -33px;
    left: -9px;
}

.howto .list .item .num .sub {
    font-family: var(--ja);
    font-weight: 400;
    font-size: 9px;
    color: #fff;
}

.howto .list .item .num .main {
    font-family: var(--ja);
    font-weight: 500;
    font-size: 28px;
    color: #fff;
    margin-top: -10px;
}

.howto .list .item .desc p {
    font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);
    line-height: calc(30/16);
    font-weight: 500;
}

.howto .attention p {
    font-family: var(--ja);
    font-weight: 400;
    font-size: 14px;
    text-align: right;
    color: #000;
}

.faq {
    background: #edf9ff;
}

.faq .title {
    margin-bottom: 80px;
}

.faq .inner {
    padding: 100px 0;
}

.faq .box {
    background-color: #FFF;
}

.faq .box .box-inner {
    padding: 80px 120px;
}

.faq .box .box-inner .list {
    display: flex;
    flex-direction: column;
    gap: 60px;
}




.faq .box .box-inner .list .item-q {
    display: flex;
    flex-direction: column;
    padding-bottom: 30px;
    border-bottom: 0.5px solid #072651;
    position: relative;
    cursor: pointer;

}

.faq .box .box-inner .list .item-q::after {
    content: "+";
    position: absolute;
    right: 0;
    top: 25%;
    font-weight: 500;
    font-size: 24px;
    transition: transform .3s;
}

.faq .box .box-inner .list .item.open .item-q::after {
    content: "−";
}

.faq .box .box-inner .list .item-q .sub {
    font-family: var(--ja);
    font-weight: 500;
    font-size: clamp(0.625rem, 0.564rem + 0.26vw, 0.875rem);
    color: #dd7217;
}

.faq .box .box-inner .list .item-q .main {
    font-family: var(--ja);
    font-weight: 500;
    font-size: clamp(0.875rem, 0.723rem + 0.65vw, 1.5rem);
    line-height: calc(40/24);
    color: #072651;
    margin-right: 5%;
}

.faq .box .box-inner .list .item-a {
    max-height: 0;
    overflow: hidden;
    transition: .4s ease;

}

.faq .box .box-inner .list .item .item-a p {
    font-family: var(--ja);
    font-weight: 400;
    font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);
    line-height: calc(30/16);
    color: #000;
    margin-right: 5%;
}

.faq .box .box-inner .list .item.open .item-a {
    padding-top: 25px;
    padding-bottom: 24px;
    border-bottom: 0.5px solid #072651;
    max-height: 500px;
}


@media (max-width: 1440px) {

    .lineup .section,
    .sec-intro .inner {
        width: 90%;
    }

    .faq .box .box-inner {
        padding: 80px;
    }
}

@media (max-width: 1200px) {
    .lineup .sec-pro01 .sec-effect .list {
        display: flex;
        flex-direction: column;
    }

    .lineup .sec-pro01 .sec-effect .list .item {
        width: 100%;
    }

    .lineup .sec-pro01 .sec-effect .list .item .box-inner {
        flex-direction: row;
        gap: 40px;
    }

    .lineup .sec-pro01 .sec-effect .list .item .img {
        max-width: 400px;
        width: 60%;
        margin-bottom: 0;
    }

    .lineup .sec-pro01 .sec-effect .list .item .text {
        width: 60%;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
    }

    .faq .box .box-inner {
        padding: 80px 50px;
    }

    .lineup .section .sec-purpose .list .item {
        max-width: 21.795vw;
        width: 100%;
    }

    .lineup .sec-others .btnarea {
        flex-direction: column;
        justify-content: center;
    }

    .lineup .sec-others .btn-shop,
    .lineup .sec-others .btn-line {
        margin: 0 auto;
        max-width: 76.923vw;
    }

    .lineup .sec-pro01.section .sec-body .column {
        flex-direction: column-reverse;
        gap: 30px;
        margin-bottom: 40px;
    }

    .lineup .section .sec-body .column {
        flex-direction: column;
        gap: 30px;
    }

    .section .sec-img {
        width: 80%;
        margin: 0 auto;
    }

    .lineup .section.sec-pro01 .sec-body .column .sec-text {
        width: 100%;
    }

    .lineup .sec-pro01 .sec-purpose .list {
        display: flex;
        flex-wrap: wrap;
        gap: 20px;
    }

    .lineup .sec-others .sec-text {
        width: 100%;
    }
}

@media (max-width: 961px) {
    .sec-intro .main-menu {
        grid-template-columns: repeat(2, 1fr);
    }


    .sec-intro .sub-menu {
        grid-template-columns: repeat(3, 1fr);
    }





    .howto .list {
        flex-wrap: wrap;
        gap: 60px 80px;
    }

    .howto .list .item {
        width: 44%;
    }

    .howto .inner,
    .faq .inner {
        width: 87%;
    }

    .howto .list .item::after {
        left: calc(100% + 10px);
    }

    .faq .box .box-inner .list .item .item-a p {
        margin-right: 0;
    }



    .lineup .sec-pro01 .sec-effect .list .item .box-inner {
        flex-direction: column;
    }

    .lineup .sec-pro01 .sec-effect .list .item .img {
        max-width: 72.821vw;
        width: 100%;
    }

    .lineup .sec-pro01 .sec-effect .list .item .text {
        width: 100%;
        align-items: center;
    }

    .lineup .section .sec-head {
        flex-direction: column;
        align-items: flex-start;
        gap: 25px;
    }

    .lineup .sec-others .sec-text {
        display: flex;
        flex-direction: column;
        gap: 30px;
    }

    .lineup .sec-others .sec-purpose .item {
        max-width: 21.795vw;
    }
}

@media (max-width: 767px) {
    .sec-intro .main-menu {
        gap: 40px 15px;
    }

    .lineup .section,
    .sec-intro .inner {
        width: 94%;
    }

    .sec-intro .sub-menu {
        gap: 20px;
    }

    .lineup .title,
    .lineup .sec-pro01 .sec-effect {
        margin-bottom: 60px;
    }

    .lineup .sec-pro01 .morebtn {
        width: 100%;
    }

    .lineup .sec-pro01 .morebtn a {
        gap: 7px;
        height: 75px;
    }

    .lineup .sec-others {
        padding: 60px 0;
    }

    .lineup .sec-others .btn-shop,
    .lineup .sec-others .btn-line {
        width: 80%;
        height: 80px;
    }

    .lineup .attention p {
        text-align: left;
    }

    .usecase .webgene-blog {
        display: flex;
        flex-direction: column;
        gap: 60px;
    }

    .howto .list {
        align-items: center;
        display: flex;
        flex-direction: column;
    }

    .howto .list .item {
        width: 80%;
    }

    .howto .list .item::after {
        width: 0;
        height: 0;
        border-style: solid;
        border-right: 10px solid transparent;
        border-left: 10px solid transparent;
        border-top: 16px solid #000000;
        border-bottom: 0;
        left: 0;
        right: 0;
        margin: auto;
        top: calc(100% + 15px);
    }

    .howto .title {
        margin-bottom: 94px;
    }

    .faq .box .box-inner {
        padding: 40px 15px;
    }

    .faq .box .box-inner .list .item-q .main {
        margin-right: 7%;
    }

    .faq .inner {
        width: 94%;
    }

    .lineup .section.sec-pro01 .sec-body .column .sec-img::before {
        width: 79px;
        height: 50px;
    }
}


.gjs-dashed .faq .box .box-inner .list .item-a {
    max-height: none;
    overflow: visible;
}